Run sig-network test with Antrea v1.14.1 and K8s v1.29.0 #32
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Manually run upstream conformance test on Linux | |
run-name: Run ${{ inputs.test-suite }} test with Antrea ${{ inputs.antrea-version }} and K8s ${{ inputs.k8s-version }} | |
on: | |
workflow_dispatch: | |
inputs: | |
antrea-version: | |
description: The Antrea version to test. It could be a SHA-1 value, a branch, or a tag (e.g. a7b012b, release-1.12, v1.12.0). The main branch will be used if empty. | |
required: false | |
antrea-values: | |
description: The Antrea Chart values. Multiple values can be separated with commas (e.g. key1=val1,key2=val2). Default configuration will be tested if empty. | |
required: false | |
k8s-version: | |
description: The K8s version (e.g. v1.27.1) to test. Kind's default K8s version will be used if empty. | |
required: false | |
test-suite: | |
description: The test suite to run. Check run-k8s-e2e-tests.sh for which test cases these values represent. | |
type: choice | |
options: | |
- whole-conformance | |
- conformance | |
- network-policy | |
- sig-network | |
- all | |
default: whole-conformance | |
required: true | |
always-upload-logs: | |
description: Always upload logs regardless of the test result. | |
type: boolean | |
default: false | |
env: | |
KIND_VERSION: v0.18.0 | |
jobs: | |
test: | |
name: Run tests | |
runs-on: [ubuntu-latest] | |
steps: | |
- name: Free disk space | |
# https://github.com/actions/virtual-environments/issues/709 | |
run: | | |
sudo apt-get clean | |
df -h | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ inputs.antrea-version }} | |
fetch-depth: 0 | |
show-progress: false | |
- name: Check if it is a released version | |
id: check-release | |
run: | | |
if git show-ref --tags --verify --quiet refs/tags/${{ inputs.antrea-version }}; then | |
echo "released=true" >> $GITHUB_OUTPUT | |
else | |
echo "released=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Build Antrea image if required | |
if: ${{ steps.check-release.outputs.released == 'false' }} | |
run: | | |
./hack/build-antrea-linux-all.sh --pull | |
- name: Install Kind | |
run: | | |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64 | |
chmod +x ./kind | |
sudo mv kind /usr/local/bin | |
- name: Create K8s cluster | |
run: | | |
# The command also loads local antrea/antrea-ubuntu:latest into Nodes if it exists. | |
./ci/kind/kind-setup.sh create kind \ | |
--k8s-version "${{ inputs.k8s-version }}" | |
- name: Install Antrea | |
run: | | |
if [ ${{ steps.check-release.outputs.released }} == 'true' ]; then | |
helm repo add antrea https://charts.antrea.io | |
helm repo update | |
helm install --namespace kube-system antrea antrea/antrea --version "${{ inputs.antrea-version }}" \ | |
--set "${{ inputs.antrea-values }}" | |
else | |
helm install --namespace kube-system antrea ./build/charts/antrea \ | |
--set "${{ inputs.antrea-values }}" | |
fi | |
kubectl rollout status -n kube-system ds/antrea-agent --timeout=5m | |
- name: Run e2e tests | |
run: | | |
./ci/run-k8s-e2e-tests.sh "--e2e-${{ inputs.test-suite }}" | |
- name: Upload test log | |
uses: actions/upload-artifact@v3 | |
if: ${{ failure() || inputs.always-upload-logs }} | |
with: | |
name: sonobuoy.tar.gz | |
path: "*_sonobuoy_*.tar.gz" | |
retention-days: 7 |