From 370b8c1deb5725aaf79980843491dda77764e358 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:31:47 +0000 Subject: [PATCH 01/18] Delete local tags in release-candidtate script --- scripts/buildkite/release/release-candidate.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/buildkite/release/release-candidate.sh b/scripts/buildkite/release/release-candidate.sh index 312223fe007..719c7283e37 100755 --- a/scripts/buildkite/release/release-candidate.sh +++ b/scripts/buildkite/release/release-candidate.sh @@ -14,7 +14,8 @@ tag_cabal_ver() { tag_date "$1" | sed -e s/-0/-/g -e s/-/./g } -git fetch --tags --force +git tag -l | xargs git tag -d +git fetch --tags BASE_COMMIT=$(git rev-parse HEAD) From d055d87e9c0f4d609e566a4b28d306923d2de968 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:33:12 +0000 Subject: [PATCH 02/18] Add base build id tracking through the main pipeline trigger --- scripts/buildkite/release/generate-trigger.sh | 2 ++ scripts/buildkite/release/release-candidate.sh | 1 + 2 files changed, 3 insertions(+) diff --git a/scripts/buildkite/release/generate-trigger.sh b/scripts/buildkite/release/generate-trigger.sh index cb9c7e0d003..f77b2bb7a33 100755 --- a/scripts/buildkite/release/generate-trigger.sh +++ b/scripts/buildkite/release/generate-trigger.sh @@ -7,6 +7,7 @@ VERSION=$(buildkite-agent meta-data get "release-version") BRANCH=$(buildkite-agent meta-data get "release-candidate-branch") CABAL=$(buildkite-agent meta-data get "release-cabal-version") TEST_RC=$(buildkite-agent meta-data get "test-rc") +BASE_BUILD=$(buildkite-agent meta-data get "base-build") cat << YAML steps: @@ -26,5 +27,6 @@ steps: release-candidate-commit: "$COMMIT" release-candidate-branch: "$BRANCH" release-cabal-version: "$CABAL" + triggered-by: "$BASE_BUILD" YAML diff --git a/scripts/buildkite/release/release-candidate.sh b/scripts/buildkite/release/release-candidate.sh index 719c7283e37..f502b9e353b 100755 --- a/scripts/buildkite/release/release-candidate.sh +++ b/scripts/buildkite/release/release-candidate.sh @@ -70,3 +70,4 @@ buildkite-agent meta-data set "release-candidate-commit" "$RELEASE_COMMIT" buildkite-agent meta-data set "release-candidate-branch" "$RELEASE_CANDIDATE_BRANCH" buildkite-agent meta-data set "release-cabal-version" "$NEW_CABAL_VERSION" buildkite-agent meta-data set "test-rc" "$TEST_RC" +buildkite-agent meta-data set "base-build" "$BUILDKITE_BUILD_ID" From ae0e602feb7e0a7c89e24741227089a4086e70b3 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:34:03 +0000 Subject: [PATCH 03/18] Add gh tool in the dev shell of the release pipeline --- scripts/buildkite/release/flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/buildkite/release/flake.nix b/scripts/buildkite/release/flake.nix index 4048e3054dd..1cd169e6f12 100644 --- a/scripts/buildkite/release/flake.nix +++ b/scripts/buildkite/release/flake.nix @@ -32,6 +32,7 @@ pkgs.gnutar pkgs.gnupg pkgs.nodejs_22 + pkgs.gh ]; shellHook = '' # use this hook to set up additional environment variables From 137a18d27444edcddb78d95d5a56dcbe757020bb Mon Sep 17 00:00:00 2001 From: paolino Date: Fri, 23 Aug 2024 15:57:55 +0000 Subject: [PATCH 04/18] Add a release note template --- scripts/buildkite/release/release-template.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/buildkite/release/release-template.md diff --git a/scripts/buildkite/release/release-template.md b/scripts/buildkite/release/release-template.md new file mode 100644 index 00000000000..b3cdb6072ba --- /dev/null +++ b/scripts/buildkite/release/release-template.md @@ -0,0 +1,38 @@ +## Node Compatibility + +Compatible with [`xxx`](https://github.com/input-output-hk/cardano-node/releases/tag/xxx). + +## Docker Image + +[Image](https://hub.docker.com/layers/cardanofoundation/cardano-wallet/2024.8.11/images/xxx) + +## Changes + +### Fixed + +### Added + +### Changed + +### Removed + +## API changes + +[bump.hs](https://bump.sh/hal-cardano-foundation/doc/cardano-wallet-backend/changes/xxx) + +## Known Issues + +* (ADP-2953) Revision of `cardano-node` is not reported within version in release bundle binary for Windows. +* (ADP-2635) Database connections do not seem to gracefully terminate on stopping the wallet. +* (ADP-2298) `Deposit_returned` is falsely reported on some incoming transactions (intermittently). +* (ADP-1831) `cardano-wallet` version from docker image does not report revision. + +## Signatures + +| Name | Role | Approval | +| ----------------------------------- | ----------------- | -------- | +| Heinrich Apfelmus @HeinrichApfelmus | Software Engineer | | +| Paolo Veronelli @paolino | Software Engineer | | +| Pawel Jakubas @paweljakubas | Software Engineer | | +| Johannes Lund @Anviking | Software Engineer | | +| David Clark @david-a-clark | Product Manager | | From 5e21df8272d59ad15be6107fe9716588aaabf862 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:36:11 +0000 Subject: [PATCH 05/18] Add a push nightly tag script --- scripts/buildkite/release/push-nightly-tag.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 scripts/buildkite/release/push-nightly-tag.sh diff --git a/scripts/buildkite/release/push-nightly-tag.sh b/scripts/buildkite/release/push-nightly-tag.sh new file mode 100755 index 00000000000..08aabee54dc --- /dev/null +++ b/scripts/buildkite/release/push-nightly-tag.sh @@ -0,0 +1,16 @@ +#! /bin/bash + +set -euox pipefail + +RELEASE_GIT_COMMIT=$(buildkite-agent meta-data get release-candidate-commit) + +git tag -l | xargs git tag -d +git fetch --tags + +git tag -d nightly || true + +git tag -m nightly nightly "$RELEASE_GIT_COMMIT" + +git remote set-url origin "https://$PUSH_ARTIFACTS_TOKEN@github.com/cardano-foundation/cardano-wallet.git" + +git push origin -f nightly From 9b4456c3853ead3675dcd9d2ba39267a3da8f769 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:39:39 +0000 Subject: [PATCH 06/18] Add a release step to update the nightly tag --- .buildkite/release.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.buildkite/release.yml b/.buildkite/release.yml index bdf546b46c7..31196cd45ba 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -35,6 +35,16 @@ steps: agents: system: x86_64-linux + - label: Push nightly release tag + depends_on: main-pipeline-build + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-tag.sh + agents: + system: x86_64-linux + env: + RELEASE: false + RELEASE_SCRIPTS_DIR: $RELEASE_SCRIPTS_DIR + - group: Release if: build.branch =~ /^release-candidate/ steps: From ffce9a7eacef62d7a895cf0b1dfa2b259ec5abd5 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 06:42:34 +0000 Subject: [PATCH 07/18] Add push nightly release script --- .../buildkite/release/push-nightly-release.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100755 scripts/buildkite/release/push-nightly-release.sh diff --git a/scripts/buildkite/release/push-nightly-release.sh b/scripts/buildkite/release/push-nightly-release.sh new file mode 100755 index 00000000000..38297b8e7f3 --- /dev/null +++ b/scripts/buildkite/release/push-nightly-release.sh @@ -0,0 +1,16 @@ +#! /bin/bash + +set -euox pipefail + +NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) + +unset GITHUB_TOKEN +unset GH_TOKEN +echo "$PUSH_ARTIFACTS_TOKEN" | gh auth login --with-token + +gh release delete nightly --yes || true +gh release create \ + -d \ + -F "$RELEASE_SCRIPTS_DIR/release-template.md" \ + -t "Nightly $NEW_GIT_TAG" \ + "nightly" From 044042f3edf05e2f47855c9682418d928c0cbb07 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 08:58:12 +0000 Subject: [PATCH 08/18] Add a release step to update the nightly release --- .buildkite/release.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 31196cd45ba..0418cb8db8c 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -37,13 +37,20 @@ steps: - label: Push nightly release tag depends_on: main-pipeline-build + key: push-nightly-tag commands: - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-tag.sh agents: system: x86_64-linux + + - label: Push nightly release + depends_on: push-nightly-tag + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-release.sh + agents: + system: x86_64-linux env: - RELEASE: false - RELEASE_SCRIPTS_DIR: $RELEASE_SCRIPTS_DIR + GITHUB_TOKEN: $$PUSH_ARTIFACTS_TOKEN - group: Release if: build.branch =~ /^release-candidate/ From 860149c2cac59b16d0ac64110adb36709837bedc Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 10:08:29 +0000 Subject: [PATCH 09/18] Add artifacts push to nightly release --- .buildkite/pipeline.yml | 2 +- .../release/push-nightly-artifacts.sh | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100755 scripts/buildkite/release/push-nightly-artifacts.sh diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index b22c0a820d3..5b4ddf73b33 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -633,7 +633,7 @@ steps: system: ${linux} - label: Tag as Release Candidate (windows) - if: build.env("RELEASE_CANDIDATE") != null + if: build.env("RELEASE_CANDIDATE") != null || build.env("TEST_RC") == "FALSE" depends_on: - windows-package - windows-testing-bundle diff --git a/scripts/buildkite/release/push-nightly-artifacts.sh b/scripts/buildkite/release/push-nightly-artifacts.sh new file mode 100755 index 00000000000..e9efbbbdd39 --- /dev/null +++ b/scripts/buildkite/release/push-nightly-artifacts.sh @@ -0,0 +1,61 @@ +#! /bin/bash + +set -euox pipefail + +base_build=$(buildkite-agent meta-data get base-build) +NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) + +unset GITHUB_TOKEN +unset GH_TOKEN +echo "$PUSH_ARTIFACTS_TOKEN" | gh auth login --with-token + + +main_build=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ + -X GET "https://api.buildkite.com/v2/builds" \ + | jq ".[] | select(.meta_data.\"triggered-by\" == \"$base_build\")" \ + | jq .number) + +mkdir -p artifacts +artifact() { + local artifact_name=$1 + # shellcheck disable=SC2155 + local artifact_value=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ + -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ + | jq -r ".[] | select(.filename == \"$artifact_name\") \ + | .download_url") + curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L \ + -o "artifacts/$artifact_name" \ + "$artifact_value" + gh release upload nightly "artifacts/$artifact_name" +} + +artifact "cardano-wallet-$NEW_GIT_TAG-linux64.tar.gz" +artifact "cardano-wallet.exe-$NEW_GIT_TAG-win64.zip" +artifact "cardano-wallet-$NEW_GIT_TAG-macos-silicon.tar.gz" +artifact "cardano-wallet-$NEW_GIT_TAG-macos-intel.tar.gz" +artifact "cardano-wallet-$NEW_GIT_TAG-docker-image.tgz" + + +# linux_artifact_name="cardano-wallet-$NEW_GIT_TAG-linux64.tar.gz" + +# linux_artifact=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ +# -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ +# | jq -r ".[] | select(.filename == \"$linux_artifact_name\") \ +# | .download_url") + +# curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L -o \ +# "$RELEASE_SCRIPTS_DIR/$linux_artifact_name" \ +# "$linux_artifact" + +# gh release upload nightly "$RELEASE_SCRIPTS_DIR/$linux_artifact_name" + +# windows_artifact_name="cardano-wallet-$NEW_GIT_TAG-win64.zip" + +# windows_artifact=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ +# -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ +# | jq -r ".[] | select(.filename == \"$windows_artifact_name\") \ +# | .download_url") + +# curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L -o \ +# "$RELEASE_SCRIPTS_DIR/$windows_artifact_name" \ +# "$windows_artifact" From 110460e56edb3c28a651c44da6e9f24feb472709 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 09:48:35 +0000 Subject: [PATCH 10/18] Add a release step to push artifacts to the nightly release --- .buildkite/release.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 0418cb8db8c..5ed77f045ce 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -45,6 +45,7 @@ steps: - label: Push nightly release depends_on: push-nightly-tag + key: push-nightly-release commands: - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-release.sh agents: @@ -52,6 +53,15 @@ steps: env: GITHUB_TOKEN: $$PUSH_ARTIFACTS_TOKEN + - label: Push nightly release artifacts + depends_on: push-nightly-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-artifacts.sh + agents: + system: x86_64-linux + env: + GITHUB_TOKEN: $$PUSH_ARTIFACTS_TOKEN + - group: Release if: build.branch =~ /^release-candidate/ steps: From 99b8dc55a9caa81133d1b7dd95b7145d7e96cc61 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 10:15:21 +0000 Subject: [PATCH 11/18] Change main pipeline conditions to allow artifacts creations on test-rc builds --- .buildkite/pipeline.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 5b4ddf73b33..54c6a37d3ff 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -508,11 +508,12 @@ steps: if: | build.branch !~ /^gh-readonly-queue\/master/ && build.branch != "master" - && ( build.env("RELEASE_CANDIDATE") == null || build.env("TEST_RC") == "TRUE" ) + && build.env("RELEASE_CANDIDATE") == null key: block-macos - label: Build Integration Tests (macOS, arm64) key: macos-arm64-tests-build-integration + if: build.env("TEST_RC") == null || build.env("TEST_RC") == "FALSE" depends_on: block-macos command: nix build -L .#packages.aarch64-darwin.integration-exe agents: @@ -608,10 +609,8 @@ steps: if: | build.branch !~ /^gh-readonly-queue\/master/ && build.branch != "master" - && (build.env("RELEASE_CANDIDATE") == null - || build.env("TEST_RC") == "TRUE" - ) && build.branch != "rc-latest" + && build.env("RELEASE_CANDIDATE") == null key: trigger-build-windows-artifacts - label: Build Package (windows) @@ -625,6 +624,7 @@ steps: - label: Build Testing Bundle (windows) key: windows-testing-bundle + if: build.env("TEST_RC") == null || build.env("TEST_RC") == "FALSE" depends_on: - trigger-build-windows-artifacts command: nix build -o result/windows-tests .#ci.artifacts.win64.tests @@ -633,7 +633,7 @@ steps: system: ${linux} - label: Tag as Release Candidate (windows) - if: build.env("RELEASE_CANDIDATE") != null || build.env("TEST_RC") == "FALSE" + if: build.env("RELEASE_CANDIDATE") == null || build.env("TEST_RC") == "FALSE" depends_on: - windows-package - windows-testing-bundle @@ -648,14 +648,8 @@ steps: - linux-artifacts steps: - - block: Docker Build - depends_on: [] - if: build.env("TEST_RC") == "TRUE" - key: docker-build-block - - label: Build Docker Image key: docker-build - depends_on: docker-build-block commands: ./scripts/buildkite/main/docker-build.sh artifact_paths: @@ -663,6 +657,11 @@ steps: agents: system: x86_64-linux + - block: Docker Build + depends_on: [] + if: build.env("TEST_RC") == "TRUE" + key: docker-build-block + - label: Push Docker Image depends_on: - docker-build From ba62cf2ad9049f24c8b0765b0af90f61be9ce6d3 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 13:22:09 +0000 Subject: [PATCH 12/18] Group nightly steps and fix release group deps --- .buildkite/release.yml | 68 ++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 5ed77f045ce..3f84f07da97 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -24,49 +24,47 @@ steps: commands: - ./scripts/buildkite/release/generate-trigger.sh | buildkite-agent pipeline upload - - label: Push swagger daily + - group : Nightly + key: nightly depends_on: main-pipeline-build - commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-to-bump.sh - artifacts: - - artifacts/api-diffs.md - env: - RELEASE: false - agents: - system: x86_64-linux + steps: + - label: Push swagger nightly + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-to-bump.sh + artifacts: + - artifacts/api-diffs.md + env: + RELEASE: false + agents: + system: x86_64-linux - - label: Push nightly release tag - depends_on: main-pipeline-build - key: push-nightly-tag - commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-tag.sh - agents: - system: x86_64-linux + - label: Push nightly release tag + key: push-nightly-tag + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-tag.sh + agents: + system: x86_64-linux - - label: Push nightly release - depends_on: push-nightly-tag - key: push-nightly-release - commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-release.sh - agents: - system: x86_64-linux - env: - GITHUB_TOKEN: $$PUSH_ARTIFACTS_TOKEN + - label: Push nightly release + depends_on: push-nightly-tag + key: push-nightly-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-release.sh + agents: + system: x86_64-linux - - label: Push nightly release artifacts - depends_on: push-nightly-release - commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-artifacts.sh - agents: - system: x86_64-linux - env: - GITHUB_TOKEN: $$PUSH_ARTIFACTS_TOKEN + - label: Push nightly release artifacts + depends_on: push-nightly-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-artifacts.sh + agents: + system: x86_64-linux - group: Release - if: build.branch =~ /^release-candidate/ + depends_on: nightly + if: build.branch == "master" steps: - block: Create a release - depends_on: main-pipeline-build key: create-release - label: Push swagger release From 1715135e61cc1e190929fbbe9ea25cf5f4d12930 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 13:27:43 +0000 Subject: [PATCH 13/18] Add push release tag to the release group --- .buildkite/release.yml | 16 ++++++++++-- .../buildkite/release/push-nightly-release.sh | 2 +- scripts/buildkite/release/push-nightly-tag.sh | 16 ------------ scripts/buildkite/release/push-tag.sh | 26 +++++++++++++++++++ 4 files changed, 41 insertions(+), 19 deletions(-) delete mode 100755 scripts/buildkite/release/push-nightly-tag.sh create mode 100755 scripts/buildkite/release/push-tag.sh diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 3f84f07da97..673a5db272a 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -41,9 +41,11 @@ steps: - label: Push nightly release tag key: push-nightly-tag commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-tag.sh + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-tag.sh agents: system: x86_64-linux + env: + RELEASE: false - label: Push nightly release depends_on: push-nightly-tag @@ -76,4 +78,14 @@ steps: env: RELEASE: true agents: - system: x86_64-linux \ No newline at end of file + system: x86_64-linux + + - label: Push release tag + key: push-release-tag + depends_on: create-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-tag.sh + agents: + system: x86_64-linux + env: + RELEASE: true \ No newline at end of file diff --git a/scripts/buildkite/release/push-nightly-release.sh b/scripts/buildkite/release/push-nightly-release.sh index 38297b8e7f3..f8aa4d9794b 100755 --- a/scripts/buildkite/release/push-nightly-release.sh +++ b/scripts/buildkite/release/push-nightly-release.sh @@ -8,7 +8,7 @@ unset GITHUB_TOKEN unset GH_TOKEN echo "$PUSH_ARTIFACTS_TOKEN" | gh auth login --with-token -gh release delete nightly --yes || true +gh release delete "$TAG" --yes || true gh release create \ -d \ -F "$RELEASE_SCRIPTS_DIR/release-template.md" \ diff --git a/scripts/buildkite/release/push-nightly-tag.sh b/scripts/buildkite/release/push-nightly-tag.sh deleted file mode 100755 index 08aabee54dc..00000000000 --- a/scripts/buildkite/release/push-nightly-tag.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/bash - -set -euox pipefail - -RELEASE_GIT_COMMIT=$(buildkite-agent meta-data get release-candidate-commit) - -git tag -l | xargs git tag -d -git fetch --tags - -git tag -d nightly || true - -git tag -m nightly nightly "$RELEASE_GIT_COMMIT" - -git remote set-url origin "https://$PUSH_ARTIFACTS_TOKEN@github.com/cardano-foundation/cardano-wallet.git" - -git push origin -f nightly diff --git a/scripts/buildkite/release/push-tag.sh b/scripts/buildkite/release/push-tag.sh new file mode 100755 index 00000000000..7b867dd8ac1 --- /dev/null +++ b/scripts/buildkite/release/push-tag.sh @@ -0,0 +1,26 @@ +#! /bin/bash + +set -euox pipefail + +RELEASE_GIT_COMMIT=$(buildkite-agent meta-data get release-candidate-commit) + +git tag -l | xargs git tag -d +git fetch --tags + +if [ "$RELEASE" == "false" ]; then + git tag -d nightly || true + TAG=nightly +else + TAG=$(buildkite-agent meta-data get release-version) + exists=$(git tag -l "$TAG") + if [ -n "$exists" ]; then + echo "Tag $TAG already exists. Remove it before proceeding." + exit 1 + fi +fi + +git tag -m "$TAG" "$TAG" "$RELEASE_GIT_COMMIT" + +git remote set-url origin "https://$GITHUB_TOKEN@github.com/cardano-foundation/cardano-wallet.git" + +git push origin -f "$TAG" From 348aef6819c78a65ff58999c1ea9fbc2a872eeec Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 13:34:50 +0000 Subject: [PATCH 14/18] Add push release to the release group --- .buildkite/release.yml | 16 +++++++- scripts/buildkite/release/flake.nix | 1 + .../buildkite/release/push-nightly-release.sh | 16 -------- scripts/buildkite/release/push-release.sh | 41 +++++++++++++++++++ 4 files changed, 56 insertions(+), 18 deletions(-) delete mode 100755 scripts/buildkite/release/push-nightly-release.sh create mode 100755 scripts/buildkite/release/push-release.sh diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 673a5db272a..670b31ef981 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -51,9 +51,11 @@ steps: depends_on: push-nightly-tag key: push-nightly-release commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-release.sh + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-release.sh agents: system: x86_64-linux + env: + RELEASE: false - label: Push nightly release artifacts depends_on: push-nightly-release @@ -88,4 +90,14 @@ steps: agents: system: x86_64-linux env: - RELEASE: true \ No newline at end of file + RELEASE: true + + - label: Push release + depends_on: push-release-tag + key: push-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-release.sh + agents: + system: x86_64-linux + env: + RELEASE: true diff --git a/scripts/buildkite/release/flake.nix b/scripts/buildkite/release/flake.nix index 1cd169e6f12..d8f4dc1d580 100644 --- a/scripts/buildkite/release/flake.nix +++ b/scripts/buildkite/release/flake.nix @@ -33,6 +33,7 @@ pkgs.gnupg pkgs.nodejs_22 pkgs.gh + pkgs.gettext ]; shellHook = '' # use this hook to set up additional environment variables diff --git a/scripts/buildkite/release/push-nightly-release.sh b/scripts/buildkite/release/push-nightly-release.sh deleted file mode 100755 index f8aa4d9794b..00000000000 --- a/scripts/buildkite/release/push-nightly-release.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/bash - -set -euox pipefail - -NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) - -unset GITHUB_TOKEN -unset GH_TOKEN -echo "$PUSH_ARTIFACTS_TOKEN" | gh auth login --with-token - -gh release delete "$TAG" --yes || true -gh release create \ - -d \ - -F "$RELEASE_SCRIPTS_DIR/release-template.md" \ - -t "Nightly $NEW_GIT_TAG" \ - "nightly" diff --git a/scripts/buildkite/release/push-release.sh b/scripts/buildkite/release/push-release.sh new file mode 100755 index 00000000000..4190af93394 --- /dev/null +++ b/scripts/buildkite/release/push-release.sh @@ -0,0 +1,41 @@ +#! /bin/bash + +set -euox pipefail + +NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) + +if [ "$RELEASE" == "false" ]; then + TAG=nightly + title="Nightly $NEW_GIT_TAG" +else + TAG=$NEW_GIT_TAG + title="Release $TAG" +fi + +buildkite-agent artifact download artifacts/changes.md . +# shellcheck disable=SC2155 +export CHANGES=$(cat artifacts/changes.md) + +# shellcheck disable=SC2155 +export NODE_TAG=$(buildkite-agent meta-data get node-tag) + +# shellcheck disable=SC2034 +export BUMP_CHANGES=xxx + +# shellcheck disable=SC2034 +export DOCKER_SHA=xxx + +# shellcheck disable=SC2016 +envsubst \ + < "$RELEASE_SCRIPTS_DIR/release-template.md" \ + > "$RELEASE_SCRIPTS_DIR/release-template-final.md" + +if [ "$RELEASE" == "false" ]; then + gh release delete nightly --yes || true +fi + +gh release create \ + -d \ + -F "$RELEASE_SCRIPTS_DIR/release-template.md" \ + -t "$title" \ + "$TAG" From 478991ccdd1e09ada0f7eaa5317484b02907c2a6 Mon Sep 17 00:00:00 2001 From: paolino Date: Thu, 22 Aug 2024 13:46:39 +0000 Subject: [PATCH 15/18] Add artifacts push to release --- .buildkite/release.yml | 13 +++- scripts/buildkite/release/push-artifacts.sh | 38 ++++++++++++ .../release/push-nightly-artifacts.sh | 61 ------------------- 3 files changed, 50 insertions(+), 62 deletions(-) create mode 100755 scripts/buildkite/release/push-artifacts.sh delete mode 100755 scripts/buildkite/release/push-nightly-artifacts.sh diff --git a/.buildkite/release.yml b/.buildkite/release.yml index 670b31ef981..e01cbf3acff 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -60,9 +60,11 @@ steps: - label: Push nightly release artifacts depends_on: push-nightly-release commands: - - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-nightly-artifacts.sh + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-artifacts.sh agents: system: x86_64-linux + env: + RELEASE: false - group: Release depends_on: nightly @@ -101,3 +103,12 @@ steps: system: x86_64-linux env: RELEASE: true + + - label: Push release artifacts + depends_on: push-release + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/push-artifacts.sh + agents: + system: x86_64-linux + env: + RELEASE: true diff --git a/scripts/buildkite/release/push-artifacts.sh b/scripts/buildkite/release/push-artifacts.sh new file mode 100755 index 00000000000..138f968e68d --- /dev/null +++ b/scripts/buildkite/release/push-artifacts.sh @@ -0,0 +1,38 @@ +#! /bin/bash + +set -euox pipefail + +base_build=$(buildkite-agent meta-data get base-build) +NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) + +if [ "$RELEASE" == "false" ]; then + TAG=nightly +else + TAG=$NEW_GIT_TAG +fi + +main_build=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ + -X GET "https://api.buildkite.com/v2/builds" \ + | jq ".[] | select(.meta_data.\"triggered-by\" == \"$base_build\")" \ + | jq .number) + +mkdir -p artifacts + +artifact() { + local artifact_name=$1 + # shellcheck disable=SC2155 + local artifact_value=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ + -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ + | jq -r ".[] | select(.filename == \"$artifact_name\") \ + | .download_url") + curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L \ + -o "artifacts/$artifact_name" \ + "$artifact_value" + gh release upload "$TAG" "artifacts/$artifact_name" +} + +artifact "cardano-wallet-$NEW_GIT_TAG-linux64.tar.gz" +artifact "cardano-wallet.exe-$NEW_GIT_TAG-win64.zip" +artifact "cardano-wallet-$NEW_GIT_TAG-macos-silicon.tar.gz" +artifact "cardano-wallet-$NEW_GIT_TAG-macos-intel.tar.gz" +artifact "cardano-wallet-$NEW_GIT_TAG-docker-image.tgz" diff --git a/scripts/buildkite/release/push-nightly-artifacts.sh b/scripts/buildkite/release/push-nightly-artifacts.sh deleted file mode 100755 index e9efbbbdd39..00000000000 --- a/scripts/buildkite/release/push-nightly-artifacts.sh +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/bash - -set -euox pipefail - -base_build=$(buildkite-agent meta-data get base-build) -NEW_GIT_TAG=$(buildkite-agent meta-data get release-version) - -unset GITHUB_TOKEN -unset GH_TOKEN -echo "$PUSH_ARTIFACTS_TOKEN" | gh auth login --with-token - - -main_build=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ - -X GET "https://api.buildkite.com/v2/builds" \ - | jq ".[] | select(.meta_data.\"triggered-by\" == \"$base_build\")" \ - | jq .number) - -mkdir -p artifacts -artifact() { - local artifact_name=$1 - # shellcheck disable=SC2155 - local artifact_value=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ - -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ - | jq -r ".[] | select(.filename == \"$artifact_name\") \ - | .download_url") - curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L \ - -o "artifacts/$artifact_name" \ - "$artifact_value" - gh release upload nightly "artifacts/$artifact_name" -} - -artifact "cardano-wallet-$NEW_GIT_TAG-linux64.tar.gz" -artifact "cardano-wallet.exe-$NEW_GIT_TAG-win64.zip" -artifact "cardano-wallet-$NEW_GIT_TAG-macos-silicon.tar.gz" -artifact "cardano-wallet-$NEW_GIT_TAG-macos-intel.tar.gz" -artifact "cardano-wallet-$NEW_GIT_TAG-docker-image.tgz" - - -# linux_artifact_name="cardano-wallet-$NEW_GIT_TAG-linux64.tar.gz" - -# linux_artifact=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ -# -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ -# | jq -r ".[] | select(.filename == \"$linux_artifact_name\") \ -# | .download_url") - -# curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L -o \ -# "$RELEASE_SCRIPTS_DIR/$linux_artifact_name" \ -# "$linux_artifact" - -# gh release upload nightly "$RELEASE_SCRIPTS_DIR/$linux_artifact_name" - -# windows_artifact_name="cardano-wallet-$NEW_GIT_TAG-win64.zip" - -# windows_artifact=$(curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" \ -# -X GET "https://api.buildkite.com/v2/organizations/cardano-foundation/pipelines/cardano-wallet/builds/$main_build/artifacts" \ -# | jq -r ".[] | select(.filename == \"$windows_artifact_name\") \ -# | .download_url") - -# curl -H "Authorization: Bearer $BUILDKITE_API_TOKEN" -L -o \ -# "$RELEASE_SCRIPTS_DIR/$windows_artifact_name" \ -# "$windows_artifact" From 162285287626f59ad64af000784b023e5e8c5067 Mon Sep 17 00:00:00 2001 From: paolino Date: Fri, 23 Aug 2024 15:21:46 +0000 Subject: [PATCH 16/18] Add variables to the release template --- .buildkite/release.yml | 10 +++ scripts/buildkite/release/make_changelog.sh | 29 ++++++++ scripts/buildkite/release/push-release.sh | 2 +- .../buildkite/release/release-candidate.sh | 4 ++ scripts/buildkite/release/release-template.md | 10 ++- scripts/make_changelog.sh | 68 ------------------- 6 files changed, 51 insertions(+), 72 deletions(-) create mode 100755 scripts/buildkite/release/make_changelog.sh delete mode 100755 scripts/make_changelog.sh diff --git a/.buildkite/release.yml b/.buildkite/release.yml index e01cbf3acff..ad914e0e401 100644 --- a/.buildkite/release.yml +++ b/.buildkite/release.yml @@ -24,6 +24,16 @@ steps: commands: - ./scripts/buildkite/release/generate-trigger.sh | buildkite-agent pipeline upload + - label: Collect changes + key: collect-changes + depends_on: add-release-commits + commands: + - nix develop path:$RELEASE_SCRIPTS_DIR -c $RELEASE_SCRIPTS_DIR/make_changelog.sh + agents: + system: x86_64-linux + artifacts: + - artifacts/changes.md + - group : Nightly key: nightly depends_on: main-pipeline-build diff --git a/scripts/buildkite/release/make_changelog.sh b/scripts/buildkite/release/make_changelog.sh new file mode 100755 index 00000000000..52fe75c80da --- /dev/null +++ b/scripts/buildkite/release/make_changelog.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euo pipefail + +since_date="$(buildkite-agent meta-data get last-release-date)" + +fetch_prs() { + curl --silent \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer $GITHUB_TOKEN" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "https://api.github.com/search/issues?q=repo:cardano-foundation/cardano-wallet+is:pr+is:merged+merged:%3E$since_date" + } + +prs=$(fetch_prs | jq '.items | map({date:.pull_request.merged_at | split("T")[0], number:.number,title:.title,labels:.labels| map(.name),author:.user.login })') + +items=$(jq 'map("\(.date), #\(.number), \(.author), \(.labels | join(", ")), \(.title)")' <<< "$prs") +item_max=$(jq 'length - 1' <<< "$items") + +mkdir -p artifacts + +for i in $(seq 0 "$item_max"); do + item=$(jq -r ".[$i]" <<< "$items") + echo "$item" \ + | sed -E 's,\[(ADP\-[0-9]+)\],[\1](https://cardanofoundation.atlassian.net/browse/\1),g' \ + | sed -E 's,\[ADP-x+\],,g' \ + | sed -E 's,#([0-9]+),[#\1](https://github.com/cardano-foundation/cardano-wallet/pull/\1),g' \ + >> artifacts/changes.md +done diff --git a/scripts/buildkite/release/push-release.sh b/scripts/buildkite/release/push-release.sh index 4190af93394..f68651d8628 100755 --- a/scripts/buildkite/release/push-release.sh +++ b/scripts/buildkite/release/push-release.sh @@ -36,6 +36,6 @@ fi gh release create \ -d \ - -F "$RELEASE_SCRIPTS_DIR/release-template.md" \ + -F "$RELEASE_SCRIPTS_DIR/release-template-final.md" \ -t "$title" \ "$TAG" diff --git a/scripts/buildkite/release/release-candidate.sh b/scripts/buildkite/release/release-candidate.sh index f502b9e353b..08ca5e5be7a 100755 --- a/scripts/buildkite/release/release-candidate.sh +++ b/scripts/buildkite/release/release-candidate.sh @@ -29,6 +29,8 @@ NEW_CABAL_VERSION=$(tag_cabal_ver "$NEW_GIT_TAG") OLD_GIT_TAG=$( git tag -l "v2*-*-*" | sort | tail -n1) +LAST_RELEASE_DATE=$(tag_date "$OLD_GIT_TAG") + OLD_CABAL_VERSION=$(tag_cabal_ver "$OLD_GIT_TAG") CARDANO_NODE_TAG=$(cardano-node version | head -n1 | awk '{print $2}') @@ -71,3 +73,5 @@ buildkite-agent meta-data set "release-candidate-branch" "$RELEASE_CANDIDATE_BRA buildkite-agent meta-data set "release-cabal-version" "$NEW_CABAL_VERSION" buildkite-agent meta-data set "test-rc" "$TEST_RC" buildkite-agent meta-data set "base-build" "$BUILDKITE_BUILD_ID" +buildkite-agent meta-data set "node-tag" "$CARDANO_NODE_TAG" +buildkite-agent meta-data set "last-release-date" "$LAST_RELEASE_DATE" diff --git a/scripts/buildkite/release/release-template.md b/scripts/buildkite/release/release-template.md index b3cdb6072ba..b61d324a2f1 100644 --- a/scripts/buildkite/release/release-template.md +++ b/scripts/buildkite/release/release-template.md @@ -1,13 +1,16 @@ ## Node Compatibility -Compatible with [`xxx`](https://github.com/input-output-hk/cardano-node/releases/tag/xxx). +Compatible with [`cardano-node@$NODE_TAG`](https://github.com/input-output-hk/cardano-node/releases/tag/$NODE_TAG). ## Docker Image -[Image](https://hub.docker.com/layers/cardanofoundation/cardano-wallet/2024.8.11/images/xxx) +FIX THIS LINK BY INSPECTING DOCKERHUB ! +[Image](https://hub.docker.com/layers/cardanofoundation/cardano-wallet/$CABAL-VERSION/images/$DOCKER_SHA) ## Changes +${CHANGES} + ### Fixed ### Added @@ -18,7 +21,8 @@ Compatible with [`xxx`](https://github.com/input-output-hk/cardano-node/releases ## API changes -[bump.hs](https://bump.sh/hal-cardano-foundation/doc/cardano-wallet-backend/changes/xxx) +FIX THIS LINK BY INSPECTING BUMP SH ! +[bump.hs](https://bump.sh/hal-cardano-foundation/doc/cardano-wallet-backend/changes/$BUMP_CHANGES_ID) ## Known Issues diff --git a/scripts/make_changelog.sh b/scripts/make_changelog.sh deleted file mode 100755 index d28033b1200..00000000000 --- a/scripts/make_changelog.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env bash - -# Constructs a CHANGELOG using every PR merged since a given date. It -# groups PRs by milestones. -# -# /!\ depends on 'jq' and 'curl' /!\ -# -# Usage: -# ./make_changelog.sh YYYY-MM-DD -# -# Example: -# ./make_changelog.sh 2019-08-15 - -# NOTE: You can optionally set $GITHUB_API_TOKEN before running this -# script to avoid GitHub rate limit errors. - -set -euo pipefail - -repo="cardano-foundation/cardano-wallet" -since_date="${1:-}" - -if [ -z "$since_date" ]; then - echo "usage: $0 YYYY-MM-DD" - exit 1 -fi - -fetch_prs() { - if [ -z "${GITHUB_API_TOKEN:-}" ]; then - echo "warning: GITHUB_API_TOKEN is not set. You may get a rate limit error when fetching pull requests." > /dev/stderr - auth_header=() - else - auth_header=("-H" "Authorization: token $GITHUB_API_TOKEN") - fi - - url="https://api.github.com/search/issues?per_page=500&q=repo:$1+is:pr+is:merged+merged:%3E$2" - echo "Fetching $url" > /dev/stderr - curl --silent "${auth_header[@]}" \ - -H "Accept: application/vnd.github.v3+json" \ - "$url" -} - -pull_requests=$(fetch_prs "$repo" "$since_date" | jq '.items | map({number:.number,title:.title,label:.labels[0].name}) | group_by(.label)') - -items=$(jq 'map(map("\(.title) #\(.number)"))' <<< "$pull_requests") -labels=$(jq 'map(map("\(.label)") | unique) | flatten' <<< "$pull_requests") - -labels_max=$(jq 'length - 1' <<< "$labels") - -for i in $(seq 0 "$labels_max"); do - label=$(jq -r ".[$i]" <<< "$labels") - case $label in - "null") - echo "## Unclassified (Move user-facing items to correct section. Delete the rest)" - ;; - "ADDING FEATURE") - echo "## New Features" - ;; - "IMPROVEMENT") - echo "## Improvements" - ;; - "RESOLVING ISSUE") - echo "## Resolved Issues" - ;; - esac - echo "" - jq -r '.['"$i"'] | .[] | "- \(.)"' <<< "$items" - echo "" -done From 4f86373d49ae41e693af04029e1b3d4a27e21bf8 Mon Sep 17 00:00:00 2001 From: paolino Date: Tue, 27 Aug 2024 10:57:11 +0000 Subject: [PATCH 17/18] Change name of the triggered main pipeline to reflect the TEST_RC state --- scripts/buildkite/release/generate-trigger.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/buildkite/release/generate-trigger.sh b/scripts/buildkite/release/generate-trigger.sh index f77b2bb7a33..e82bbf03471 100755 --- a/scripts/buildkite/release/generate-trigger.sh +++ b/scripts/buildkite/release/generate-trigger.sh @@ -9,6 +9,12 @@ CABAL=$(buildkite-agent meta-data get "release-cabal-version") TEST_RC=$(buildkite-agent meta-data get "test-rc") BASE_BUILD=$(buildkite-agent meta-data get "base-build") +if [ "$TEST_RC" == "TRUE" ]; then + title="Test Release Candidate of $VERSION" +else + title="Release Candidate of $VERSION" +fi + cat << YAML steps: - trigger: cardano-wallet @@ -18,7 +24,7 @@ steps: build: commit: $COMMIT branch: $BRANCH - message: Release Candidate of $VERSION + message: $title env: RELEASE_CANDIDATE: "$VERSION" TEST_RC: "$TEST_RC" From 1b8b503a8ca11f946f7f2015e73fbdc971643236 Mon Sep 17 00:00:00 2001 From: paolino Date: Tue, 27 Aug 2024 13:47:37 +0000 Subject: [PATCH 18/18] Use `#! /usr/bin/env bash` --- scripts/buildkite/release/generate-trigger.sh | 2 +- scripts/buildkite/release/push-artifacts.sh | 2 +- scripts/buildkite/release/push-release.sh | 2 +- scripts/buildkite/release/push-tag.sh | 2 +- scripts/buildkite/release/push-to-bump.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/buildkite/release/generate-trigger.sh b/scripts/buildkite/release/generate-trigger.sh index e82bbf03471..743ead0f1ad 100755 --- a/scripts/buildkite/release/generate-trigger.sh +++ b/scripts/buildkite/release/generate-trigger.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#! /usr/bin/env bash set -euo pipefail diff --git a/scripts/buildkite/release/push-artifacts.sh b/scripts/buildkite/release/push-artifacts.sh index 138f968e68d..f2d6671b1d2 100755 --- a/scripts/buildkite/release/push-artifacts.sh +++ b/scripts/buildkite/release/push-artifacts.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash set -euox pipefail diff --git a/scripts/buildkite/release/push-release.sh b/scripts/buildkite/release/push-release.sh index f68651d8628..e621820edd4 100755 --- a/scripts/buildkite/release/push-release.sh +++ b/scripts/buildkite/release/push-release.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash set -euox pipefail diff --git a/scripts/buildkite/release/push-tag.sh b/scripts/buildkite/release/push-tag.sh index 7b867dd8ac1..73dac42a7f6 100755 --- a/scripts/buildkite/release/push-tag.sh +++ b/scripts/buildkite/release/push-tag.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash set -euox pipefail diff --git a/scripts/buildkite/release/push-to-bump.sh b/scripts/buildkite/release/push-to-bump.sh index 48052f7ed04..41b0e425cb5 100755 --- a/scripts/buildkite/release/push-to-bump.sh +++ b/scripts/buildkite/release/push-to-bump.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash set -euox pipefail