diff --git a/.github/workflows/e2e-arm64-nightly.yaml b/.github/workflows/e2e-arm64-nightly.yaml new file mode 100644 index 00000000000..06c6298c0dc --- /dev/null +++ b/.github/workflows/e2e-arm64-nightly.yaml @@ -0,0 +1,19 @@ +--- +name: E2E Arm64 Nightly +permissions: read-all +on: + # schedules always run against the main branch, hence we have to create separate jobs + # with individual checkout actions for each of the active release branches + schedule: + - cron: '30 1 * * *' # runs daily at 1:30 am. +jobs: + main-arm64: + uses: ./.github/workflows/e2e-arm64-template.yaml + with: + etcdBranch: main + e2eTestCmd: make test-e2e-release + release-35-arm64: + uses: ./.github/workflows/e2e-arm64-template.yaml + with: + etcdBranch: release-3.5 + e2eTestCmd: PASSES='build e2e' COVER='false' ./test.sh diff --git a/.github/workflows/e2e-arm64.yaml b/.github/workflows/e2e-arm64-template.yaml similarity index 81% rename from .github/workflows/e2e-arm64.yaml rename to .github/workflows/e2e-arm64-template.yaml index 1612b49700f..2251bc4e124 100644 --- a/.github/workflows/e2e-arm64.yaml +++ b/.github/workflows/e2e-arm64-template.yaml @@ -1,8 +1,14 @@ --- -name: E2E-arm64 +name: Reusable Arm64 E2E Workflow on: - schedule: - - cron: '0 1 * * *' # runs daily at 1am. + workflow_call: + inputs: + etcdBranch: + required: true + type: string + e2eTestCmd: + required: false + type: string permissions: read-all jobs: test: @@ -20,6 +26,8 @@ jobs: - linux-arm64-e2e steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + with: + ref: "${{ inputs.etcdBranch }}" # https://github.com/actions/checkout/issues/1169 - run: git config --system --add safe.directory '*' - id: goversion @@ -36,7 +44,7 @@ jobs: echo "${TARGET}" case "${TARGET}" in linux-arm64-e2e) - GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true RACE=true make test-e2e-release + GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true RACE=true ${{ inputs.e2eTestCmd }} ;; *) echo "Failed to find target"