From 2ce1c371600ae806216df07da4d7cc33153b8c27 Mon Sep 17 00:00:00 2001 From: James Blair Date: Thu, 4 May 2023 15:19:39 +1200 Subject: [PATCH] Backport centralising go version for actions workflows. Signed-off-by: James Blair --- .github/workflows/go-version.yaml | 22 ++++++++++++++++++++++ .github/workflows/release.yaml | 5 ++++- .github/workflows/tests.yaml | 5 ++++- scripts/release.sh | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/go-version.yaml diff --git a/.github/workflows/go-version.yaml b/.github/workflows/go-version.yaml new file mode 100644 index 000000000..2bbc42309 --- /dev/null +++ b/.github/workflows/go-version.yaml @@ -0,0 +1,22 @@ +name: Go version setup + +env: + GO_VERSION: "1.19.8" + +on: + workflow_call: + outputs: + goversion: + value: ${{ jobs.version.outputs.goversion }} + +jobs: + version: + name: Set Go version variable for all the workflows + runs-on: ubuntu-latest + outputs: + goversion: ${{ steps.step1.outputs.goversion }} + steps: + - id: step1 + run: | + echo "Go Version: $GO_VERSION" + echo "goversion=$GO_VERSION" >> $GITHUB_OUTPUT diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1b7bc750d..d9437a053 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -1,13 +1,16 @@ name: Release on: [push, pull_request] jobs: + goversion: + uses: ./.github/workflows/go-version.yaml release: runs-on: ubuntu-latest + needs: goversion steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "1.19.8" + go-version: ${{ needs.goversion.outputs.goversion }} - name: release run: | set -euo pipefail diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 4f1788692..38e225663 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,8 +1,11 @@ name: Tests on: [push, pull_request] jobs: + goversion: + uses: ./.github/workflows/go-version.yaml test: runs-on: ubuntu-latest + needs: goversion strategy: fail-fast: false matrix: @@ -21,7 +24,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "1.19.8" + go-version: ${{ needs.goversion.outputs.goversion }} - run: date - env: TARGET: ${{ matrix.target }} diff --git a/scripts/release.sh b/scripts/release.sh index 90f4f32ca..c3a2388c0 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -83,7 +83,7 @@ main() { # Check go version. log_callout "Checking go version" local go_version current_go_version - go_version="go$(grep go-version .github/workflows/tests.yaml | awk '{print $2}' | tr -d '"')" + go_version="go$(grep -oP '(?<=GO_VERSION:\s")[^"]*' .github/workflows/go-version.yaml | tr -d ' ')" current_go_version=$(go version | awk '{ print $3 }') if [[ "${current_go_version}" != "${go_version}" ]]; then log_error "Current go version is ${current_go_version}, but etcd ${RELEASE_VERSION} requires ${go_version} (see .github/workflows/tests.yaml)."