diff --git a/.github/workflows/build-multi-arch.yml b/.github/workflows/build-multi-arch.yml deleted file mode 100644 index fe0a72d050..0000000000 --- a/.github/workflows/build-multi-arch.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Build x86 and ARM64 images - -on: - pull_request: - branches: - - 'master' - - 'release*' - -jobs: - build_x86: - name: Build x86 - runs-on: ubuntu-latest - steps: - - - name: Set up Go 1.18 - uses: actions/setup-go@v2 - with: - go-version: '1.18' - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Clean up docker - run: docker system prune -a --volumes -f - - - name: Clean up stale docker images - run: docker image prune -f - - - name: Build - run: make docker all - - # Disable arm-build - # build_arm: - # name: Build ARM64 - # runs-on: [self-hosted, linux, arm64] - # steps: - - # - name: Set up Go 1.18 - # uses: actions/setup-go@v2 - # with: - # go-version: '1.18' - # id: go - - # - name: Check out code into the Go module directory - # uses: actions/checkout@v2 - - # - name: Clean up docker - # run: docker system prune -a --volumes -f - - # - name: Clean up stale docker images - # run: sudo docker image prune -f - - # - name: Build - # run: make docker all diff --git a/.github/workflows/closed-issue-message.yml b/.github/workflows/closed-issue-message.yml deleted file mode 100644 index e1137cf617..0000000000 --- a/.github/workflows/closed-issue-message.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Closed Issue Message -on: - issues: - types: [closed] -jobs: - auto_comment: - runs-on: ubuntu-latest - steps: - - uses: aws-actions/closed-issue-message@v1 - with: - # These inputs are both required - repo-token: "${{ secrets.GITHUB_TOKEN }}" - message: | - ### ⚠️COMMENT VISIBILITY WARNING⚠️ - Comments on closed issues are hard for our team to see. - If you need more assistance, please open a new issue that references this one. - If you wish to keep having a conversation with other community members under this issue feel free to do so. diff --git a/.github/workflows/cron-test.yml b/.github/workflows/cron-test.yml deleted file mode 100644 index 7e1c1237d3..0000000000 --- a/.github/workflows/cron-test.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Nightly e2e tests - -on: - schedule: - - cron: "0 3 * * *" # every night - -permissions: - contents: read - -jobs: - # Run nightly e2e tests on self-hosted runner - integration-cron: - runs-on: [self-hosted, linux, x64] - steps: - - name: Set up Go 1.18 - uses: actions/setup-go@v2 - with: - go-version: '1.18' - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Clean up docker - run: docker system prune -a --volumes -f - - - name: Clean up stale docker images - run: docker image prune -f - - - name: Get dependencies - run: | - go install golang.org/x/lint/golint@latest - go install golang.org/x/tools/cmd/goimports@latest - - - name: Run e2e tests - env: - DISABLE_PROMPT: true - ROLE_CREATE: false - ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} - RUN_CONFORMANCE: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} - RUN_TESTER_LB_ADDONS: false - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} - run: | - ./scripts/run-integration-tests.sh diff --git a/.github/workflows/forked-pr-tests.yml b/.github/workflows/forked-pr-tests.yml deleted file mode 100644 index a5e26723c1..0000000000 --- a/.github/workflows/forked-pr-tests.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Manual test runner workflow - -on: - workflow_dispatch: - inputs: - pull_request_number: - description: 'PR number we want to run tests on' - default: '' - required: true - -permissions: - contents: read - -jobs: - # Repo owner has triggered this run - integration-fork: - runs-on: [self-hosted, linux, x64] - if: - github.event.inputs.pull_request_number != '' - steps: - - name: Set up Go 1.18 - uses: actions/setup-go@v2 - with: - go-version: '1.18' - id: go - - # Check out a merge commit - - name: Check out latest commit in the PR as a merge commit - uses: actions/checkout@v2 - with: - ref: 'refs/pull/${{ github.event.inputs.pull_request_number }}/merge' - - - name: Get dependencies - run: | - go install golang.org/x/lint/golint@latest - go install golang.org/x/tools/cmd/goimports@latest - - - name: Clean up docker - run: docker system prune -a --volumes -f - - - name: Clean up stale docker images - run: docker image prune -f - - - name: Run e2e tests - env: - DISABLE_PROMPT: true - ROLE_CREATE: false - ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} - RUN_CONFORMANCE: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} - run: | - ./scripts/run-integration-tests.sh diff --git a/.github/workflows/integration-tests.yaml b/.github/workflows/integration-tests.yaml new file mode 100644 index 0000000000..ad1a2e2cec --- /dev/null +++ b/.github/workflows/integration-tests.yaml @@ -0,0 +1,47 @@ +name: Integration tests + +on: + push: + branches: + - "master" + - "release*" + +permissions: + id-token: write + contents: read + +jobs: + integration-test: + runs-on: ubuntu-latest + steps: + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up Docker QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Set up tools + run: | + go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@latest + curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp + sudo mv /tmp/eksctl /usr/local/bin/ + - name: Set up AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.OSS_TEST_ROLE_ARN }} + role-duration-seconds: 7200 + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + - name: Run e2e tests + env: + DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} + ROLE_CREATE: false + ROLE_ARN: ${{ secrets.EKS_CLUSTER_ROLE_ARN }} + RUN_CONFORMANCE: true + run: | + ./scripts/run-integration-tests.sh diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml deleted file mode 100644 index 2e6096b8c3..0000000000 --- a/.github/workflows/integration-tests.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Integration tests - -on: - # Runs on push to master or release branches - push: - branches: - - 'master' - - 'release*' - -permissions: - contents: read - -jobs: - integration-trusted: - runs-on: [self-hosted, linux, x64] - steps: - - name: Set up Go 1.18 - uses: actions/setup-go@v2 - with: - go-version: '1.18' - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Get dependencies - run: | - go install golang.org/x/lint/golint@latest - go install golang.org/x/tools/cmd/goimports@latest - - - name: Clean up docker - run: docker system prune -a --volumes -f - - - name: Clean up stale docker images - run: docker image prune -f - - - name: Run e2e tests - env: - DISABLE_PROMPT: true - ROLE_CREATE: false - ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} - RUN_CONFORMANCE: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} - run: | - ./scripts/run-integration-tests.sh diff --git a/.github/workflows/issue-closed-message.yaml b/.github/workflows/issue-closed-message.yaml new file mode 100644 index 0000000000..eaf88eb149 --- /dev/null +++ b/.github/workflows/issue-closed-message.yaml @@ -0,0 +1,21 @@ +name: Closed Issue Message +on: + issues: + types: [closed] + +permissions: + issues: write + +jobs: + auto_comment: + runs-on: ubuntu-latest + steps: + - uses: aws-actions/closed-issue-message@v1 + with: + # These inputs are both required + repo-token: "${{ secrets.GITHUB_TOKEN }}" + message: | + ### ⚠️COMMENT VISIBILITY WARNING⚠️ + Comments on closed issues are hard for our team to see. + If you need more assistance, please open a new issue that references this one. + If you wish to keep having a conversation with other community members under this issue feel free to do so. diff --git a/.github/workflows/issue-stale-pr.yaml b/.github/workflows/issue-stale-pr.yaml new file mode 100644 index 0000000000..1ac16aa01d --- /dev/null +++ b/.github/workflows/issue-stale-pr.yaml @@ -0,0 +1,26 @@ +name: "Stale issue & PR handler" +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@main + id: stale + with: + ascending: true + close-issue-message: "Issue closed due to inactivity." + close-pr-message: "Pull request closed due to inactivity." + days-before-close: 14 + days-before-stale: 60 + exempt-issue-labels: "triage-pending,review-pending" + operations-per-run: 100 + stale-issue-message: "This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days" + stale-pr-message: "This pull request is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days" diff --git a/.github/workflows/nightly-cron-tests.yaml b/.github/workflows/nightly-cron-tests.yaml new file mode 100644 index 0000000000..36fe8badcd --- /dev/null +++ b/.github/workflows/nightly-cron-tests.yaml @@ -0,0 +1,45 @@ +name: Nightly Cron tests + +on: + schedule: + - cron: "0 3 * * *" # every night + +permissions: + id-token: write + contents: read + +jobs: + nightly-cron-test: + runs-on: ubuntu-latest + steps: + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up Docker QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Set up tools + run: | + go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@latest + curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp + sudo mv /tmp/eksctl /usr/local/bin/ + - name: Set up AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.OSS_TEST_ROLE_ARN }} + role-duration-seconds: 7200 + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + - name: Run e2e tests + env: + DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} + ROLE_CREATE: false + ROLE_ARN: ${{ secrets.EKS_CLUSTER_ROLE_ARN }} + RUN_CONFORMANCE: true + run: | + ./scripts/run-integration-tests.sh diff --git a/.github/workflows/pr-automated-tests.yaml b/.github/workflows/pr-automated-tests.yaml new file mode 100644 index 0000000000..dbe12882fb --- /dev/null +++ b/.github/workflows/pr-automated-tests.yaml @@ -0,0 +1,56 @@ +name: Automatic Pull Request test + +on: + pull_request: + branches: + - "master" + - "release*" + +permissions: + contents: read + +jobs: + unit-test: + name: Unit test + runs-on: ubuntu-latest + steps: + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Set up tools + run: | + go install golang.org/x/lint/golint@latest + go install golang.org/x/tools/cmd/goimports@latest + - name: Run code checks + run: | + make check-format + make vet + - name: Build + run: make build-linux + - name: Helm lint + run: make helm-lint + - name: Unit test + run: make unit-test + - name: Upload code coverage + uses: codecov/codecov-action@v3 + docker-build: + name: Build Docker images + runs-on: ubuntu-latest + steps: + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Build CNI images + run: make multi-arch-cni-build + - name: Build CNI Init images + run: make multi-arch-cni-init-build diff --git a/.github/workflows/pr-manual-tests.yaml b/.github/workflows/pr-manual-tests.yaml new file mode 100644 index 0000000000..b590ca7f9a --- /dev/null +++ b/.github/workflows/pr-manual-tests.yaml @@ -0,0 +1,53 @@ +# Repo owner must review the PR properly before trigger this workflow manually. +name: Manual Pull Request test + +on: + workflow_dispatch: + inputs: + pull_request_number: + description: "PR number we want to run tests on" + required: true + type: string + +permissions: + id-token: write + contents: read + +jobs: + integration-test: + if: github.event.inputs.pull_request_number != '' + runs-on: ubuntu-latest + steps: + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + with: + ref: "refs/pull/${{ github.event.inputs.pull_request_number }}/merge" + - name: Set up Docker QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Set up tools + run: | + go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@latest + curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp + sudo mv /tmp/eksctl /usr/local/bin/ + - name: Set up AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.OSS_TEST_ROLE_ARN }} + role-duration-seconds: 7200 + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + - name: Run e2e tests + env: + DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} + ROLE_CREATE: false + ROLE_ARN: ${{ secrets.EKS_CLUSTER_ROLE_ARN }} + RUN_CONFORMANCE: true + run: | + ./scripts/run-integration-tests.sh diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index cb66425685..4d01c48719 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -2,31 +2,27 @@ name: VPC CNI Release on: [push, workflow_dispatch] +permissions: + contents: read + env: - DEFAULT_GO_VERSION: ^1.18 GITHUB_USERNAME: ${{ secrets.EKS_BOT_GITHUB_USERNAME }} GITHUB_TOKEN: ${{ secrets.EKS_BOT_GITHUB_TOKEN }} jobs: - release: - name: Release - runs-on: ubuntu-20.04 if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') + runs-on: ubuntu-latest steps: - - name: Set up Go 1.x - uses: actions/setup-go@v2 - with: - go-version: ${{ env.DEFAULT_GO_VERSION }} - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Attach release artifacts - run: make release - - - name: Create eks-charts PR - run: make ekscharts-sync-release - - - name: Create sample manifests PR - run: make config-folder-sync + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: "1.19" + - name: Attach release artifacts + run: make release + - name: Create eks-charts PR + run: make ekscharts-sync-release + - name: Create sample manifests PR + run: make config-folder-sync diff --git a/.github/workflows/stale_issue_pr.yaml b/.github/workflows/stale_issue_pr.yaml deleted file mode 100644 index 6547f33beb..0000000000 --- a/.github/workflows/stale_issue_pr.yaml +++ /dev/null @@ -1,25 +0,0 @@ -name: 'Stale issue & PR handler' -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' - -jobs: - stale: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/stale@main - id: stale - with: - ascending: true - close-issue-message: 'Issue closed due to inactivity.' - close-pr-message: 'Pull request closed due to inactivity.' - days-before-close: 14 - days-before-stale: 60 - exempt-issue-labels: 'triage-pending,review-pending' - operations-per-run: 100 - stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days' - stale-pr-message: 'This pull request is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 14 days' diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml deleted file mode 100644 index bc909945a1..0000000000 --- a/.github/workflows/unit-tests.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Run unit tests - -on: - pull_request: - branches: - - 'master' - - 'release*' - -jobs: - build_x86_64: - name: Unit-tests - runs-on: ubuntu-latest - steps: - - - name: Set up Go 1.18 - uses: actions/setup-go@v2 - with: - go-version: '1.18' - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Get dependencies - run: | - go install golang.org/x/lint/golint@latest - go install golang.org/x/tools/cmd/goimports@latest - - - name: Run code checks - run: | - make check-format - # make lint LINT_FLAGS= - make vet - - - name: Build - run: make build-linux - - - name: helm v2 and v3 lint - run: make helm-lint - - - name: Unit Tests - run: make unit-test - - - name: Upload code coverage - uses: codecov/codecov-action@v2 diff --git a/.github/workflows/weekly-cron-test.yml b/.github/workflows/weekly-cron-tests.yaml similarity index 60% rename from .github/workflows/weekly-cron-test.yml rename to .github/workflows/weekly-cron-tests.yaml index 97969df3c8..4716c2c5f2 100644 --- a/.github/workflows/weekly-cron-test.yml +++ b/.github/workflows/weekly-cron-tests.yaml @@ -1,94 +1,84 @@ -name: Weekly CNI tests +name: Weekly Cron tests on: schedule: - - cron: "0 16 * * 3" # every Wednesday + - cron: "0 16 * * 3" # every Wednesday permissions: + id-token: write contents: read jobs: - # Run weekly tests on self-hosted runner weekly-cron: - runs-on: [self-hosted, linux, x64] + runs-on: ubuntu-latest steps: - - name: Set up Go 1.18 - uses: actions/setup-go@v2 + - name: Checkout latest commit in the PR + uses: actions/checkout@v3 + - name: Set up Docker QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Set up Go + uses: actions/setup-go@v3 with: - go-version: '1.18' - id: go - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Clean up docker - run: docker system prune -a --volumes -f - - - name: Clean up stale docker images - run: docker image prune -f - - - name: Get dependencies + go-version: "1.19" + - name: Set up tools run: | - go install golang.org/x/lint/golint@latest - go install golang.org/x/tools/cmd/goimports@latest - + go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo@latest + curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp + sudo mv /tmp/eksctl /usr/local/bin/ + - name: Set up AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.OSS_TEST_ROLE_ARN }} + role-duration-seconds: 7200 + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} - name: Run perf tests env: DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} ROLE_CREATE: false ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} - RUN_PERFORMANCE_TESTS: true PERFORMANCE_TEST_S3_BUCKET_NAME: cni-performance-tests - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} + RUN_PERFORMANCE_TESTS: true RUN_TESTER_LB_ADDONS: true - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} run: | ./scripts/run-integration-tests.sh - - name: Run kops tests env: DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} ROLE_CREATE: false ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} RUN_KOPS_TEST: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} RUN_TESTER_LB_ADDONS: true - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} run: | ./scripts/run-integration-tests.sh if: always() - - name: Run bottlerocket tests env: DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} ROLE_CREATE: false ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} RUN_BOTTLEROCKET_TEST: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} RUN_TESTER_LB_ADDONS: true - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} run: | ./scripts/run-integration-tests.sh if: always() - - name: Run calico tests env: DISABLE_PROMPT: true + S3_BUCKET_CREATE: false + S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} ROLE_CREATE: false ROLE_ARN: ${{ secrets.ROLE_ARN }} - MNG_ROLE_ARN: ${{ secrets.MNG_ROLE_ARN }} RUN_CALICO_TEST: true RUN_LATEST_CALICO_VERSION: true - AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} RUN_TESTER_LB_ADDONS: true - S3_BUCKET_CREATE: false - S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} run: | ./scripts/run-integration-tests.sh if: always() diff --git a/Makefile b/Makefile index 36bf61833d..34985274ba 100644 --- a/Makefile +++ b/Makefile @@ -139,15 +139,35 @@ docker-func-test: docker ## Run the built CNI container image to use in func docker run $(DOCKER_RUN_FLAGS) \ "$(IMAGE_NAME)" -multi-arch-cni-build-push: ## Build multi-arch VPC CNI container image. +## Build multi-arch VPC CNI plugin container image. +multi-arch-cni-build: docker buildx build $(DOCKER_BUILD_FLAGS) \ - -f scripts/dockerfiles/Dockerfile.release \ - --platform "$(MULTI_PLATFORM_BUILD_TARGETS)"\ - -t "$(IMAGE_NAME)" \ - --push \ - . + -f scripts/dockerfiles/Dockerfile.release \ + --platform "$(MULTI_PLATFORM_BUILD_TARGETS)"\ + --cache-from=type=gha \ + --cache-to=type=gha,mode=max \ + . + +## Build and push multi-arch VPC CNI plugin container image. +multi-arch-cni-build-push: + docker buildx build $(DOCKER_BUILD_FLAGS) \ + -f scripts/dockerfiles/Dockerfile.release \ + --platform "$(MULTI_PLATFORM_BUILD_TARGETS)"\ + -t "$(IMAGE_NAME)" \ + --push \ + . + +## Build VPC CNI plugin Init container image. +multi-arch-cni-init-build: + docker buildx build $(DOCKER_BUILD_FLAGS) \ + -f scripts/dockerfiles/Dockerfile.init \ + --platform "$(MULTI_PLATFORM_BUILD_TARGETS)"\ + --cache-from=type=gha \ + --cache-to=type=gha,mode=max \ + . -multi-arch-cni-init-build-push: ## Build VPC CNI plugin Init container image. +## Build and push VPC CNI plugin Init container image. +multi-arch-cni-init-build-push: docker buildx build $(DOCKER_BUILD_FLAGS) \ -f scripts/dockerfiles/Dockerfile.init \ --platform "$(MULTI_PLATFORM_BUILD_TARGETS)"\