From c31f282766187fadb5143e77e8610cb486959798 Mon Sep 17 00:00:00 2001 From: Sameer Natu Date: Sun, 25 Jun 2023 02:00:24 +0000 Subject: [PATCH] Add e2e-arm64.yaml and tests-arm64.yaml to release-3.5 scheduled at 1.30 Signed-off-by: Sameer Natu --- .github/workflows/e2e-arm64.yaml | 43 +++++++++++++++++++++++ .github/workflows/tests-arm64.yaml | 56 ++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 .github/workflows/e2e-arm64.yaml create mode 100644 .github/workflows/tests-arm64.yaml diff --git a/.github/workflows/e2e-arm64.yaml b/.github/workflows/e2e-arm64.yaml new file mode 100644 index 000000000..531bb20e8 --- /dev/null +++ b/.github/workflows/e2e-arm64.yaml @@ -0,0 +1,43 @@ +name: E2E-arm64 +on: + schedule: + - cron: '30 1 * * *' # runs daily at 1am. +permissions: read-all +jobs: + test: + if: github.repository == 'etcd-io/etcd' + runs-on: [self-hosted, Linux, ARM64] + container: golang:1.19-bullseye + defaults: + run: + shell: bash + strategy: + fail-fast: true + matrix: + target: + - linux-arm64-e2e + steps: + - uses: actions/checkout@v2 + - run: git config --system --add safe.directory '*' + - id: goversion + run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT" + - uses: actions/setup-go@v2 + with: + go-version: ${{ steps.goversion.outputs.goversion }} + - run: date + - env: + TARGET: ${{ matrix.target }} + run: | + set -euo pipefail + go clean -testcache + + echo "${TARGET}" + case "${TARGET}" in + linux-arm64-e2e) + PASSES='build e2e' GOOS=linux GOARCH=arm64 CPU='4' EXPECT_DEBUG='true' COVER='false' RACE='true' ./test.sh + ;; + *) + echo "Failed to find target" + exit 1 + ;; + esac diff --git a/.github/workflows/tests-arm64.yaml b/.github/workflows/tests-arm64.yaml new file mode 100644 index 000000000..ebd37efd0 --- /dev/null +++ b/.github/workflows/tests-arm64.yaml @@ -0,0 +1,56 @@ +name: Tests-arm64 +on: + schedule: + - cron: '30 1 * * *' # runs daily at 1am. +permissions: read-all +jobs: + test: + # this is to prevent the job to run at forked projects + if: github.repository == 'etcd-io/etcd' + runs-on: [self-hosted, Linux, ARM64] + container: golang:1.19-bullseye + defaults: + run: + shell: bash + strategy: + fail-fast: false + matrix: + target: + - linux-arm64-integration-1-cpu + - linux-arm64-integration-2-cpu + - linux-arm64-integration-4-cpu + - linux-arm64-unit-4-cpu-race + steps: + - uses: actions/checkout@v2 + - run: git config --system --add safe.directory '*' + - id: goversion + run: echo "goversion=$(cat .go-version)" >> "$GITHUB_OUTPUT" + - uses: actions/setup-go@v2 + with: + go-version: ${{ steps.goversion.outputs.goversion }} + - env: + TARGET: ${{ matrix.target }} + run: | + set -euo pipefail + go clean -testcache + + mkdir "${TARGET}" + export JUNIT_REPORT_DIR=$(realpath ${TARGET}) + case "${TARGET}" in + linux-arm64-integration-1-cpu) + GOARCH=arm64 CPU=1 PASSES='integration' RACE='false' ./test.sh + ;; + linux-arm64-integration-2-cpu) + GOARCH=arm64 CPU=2 PASSES='integration' RACE='false' ./test.sh + ;; + linux-arm64-integration-4-cpu) + GOARCH=arm64 CPU=4 PASSES='integration' RACE='false' ./test.sh + ;; + linux-arm64-unit-4-cpu-race) + GOARCH=arm64 PASSES='unit' RACE='true' CPU='4' ./test.sh -p=2 + ;; + *) + echo "Failed to find target" + exit 1 + ;; + esac