From e460b2e558769075ec436821fa827dee5a177310 Mon Sep 17 00:00:00 2001 From: Martijn Pieters Date: Tue, 19 Nov 2024 13:30:12 +0000 Subject: [PATCH] ci: Set BINSTALL_VERSION in install script tests When running the install-script workflow in Github Actions, add matrix options for not setting the variable, setting it to the latest release with the `v` prefix, and setting it to the latest release without the `v` prefix. --- .github/workflows/install-script.yml | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/.github/workflows/install-script.yml b/.github/workflows/install-script.yml index 40976162..62768b03 100644 --- a/.github/workflows/install-script.yml +++ b/.github/workflows/install-script.yml @@ -31,6 +31,7 @@ jobs: matrix: os: [macos-latest, ubuntu-latest] set_cargo_home: [t, f] + set_binstall_version: ['no', 'with-v', 'without-v'] runs-on: ${{ matrix.os }} @@ -44,6 +45,18 @@ jobs: mkdir -p "${CARGO_HOME}/bin" echo "CARGO_HOME=$CARGO_HOME" >> "$GITHUB_ENV" + - name: Set `BINSTALL_VERSION` + if: matrix.set_binstall_version != 'no' + env: + STRIP_V: ${{ matrix.set_cargo_home }} + GH_TOKEN: ${{ github.token }} + run: | + # fetch most recent release tag. + BINSTALL_VERSION="$(gh release list --json name --jq '[.[] | select(.name | startswith("v")) | .name] | first')" + if [[ $STRIP_V == 'without-v' ]]; then BINSTALL_VERSION="${BINSTALL_VERSION#v*}"; fi + echo "Setting BINSTALL_VERSION=$BINSTALL_VERSION" + echo "BINSTALL_VERSION=$BINSTALL_VERSION" >> "$GITHUB_ENV" + - name: Install `cargo-binstall` using scripts run: ./install-from-binstall-release.sh env: @@ -59,6 +72,7 @@ jobs: fail-fast: false matrix: set_cargo_home: [t, f] + set_binstall_version: ['no', 'with-v', 'without-v'] runs-on: windows-latest @@ -73,6 +87,19 @@ jobs: mkdir -p "${CARGO_HOME}/bin" echo "CARGO_HOME=$CARGO_HOME" >> "$GITHUB_ENV" + - name: Set `BINSTALL_VERSION` + if: matrix.set_binstall_version != 'no' + shell: bash + env: + GH_TOKEN: ${{ github.token }} + STRIP_V: ${{ matrix.set_cargo_home }} + run: | + # fetch most recent release name. + BINSTALL_VERSION="$(gh release list --json name --jq '[.[] | select(.name | startswith("v")) | .name] | first')" + if [[ $STRIP_V == 'without-v' ]]; then BINSTALL_VERSION="${BINSTALL_VERSION#v*}"; fi + echo "Setting BINSTALL_VERSION=$BINSTALL_VERSION" + echo "BINSTALL_VERSION=$BINSTALL_VERSION" >> "$GITHUB_ENV" + - name: Install `cargo-binstall` using scripts run: ./install-from-binstall-release.ps1 env: @@ -86,6 +113,7 @@ jobs: fail-fast: false matrix: set_cargo_home: [t, f] + set_binstall_version: ['no', 'with-v', 'without-v'] runs-on: windows-latest @@ -100,6 +128,19 @@ jobs: mkdir -p "${CARGO_HOME}/bin" echo "CARGO_HOME=$CARGO_HOME" >> "$GITHUB_ENV" + - name: Set `BINSTALL_VERSION` + if: matrix.set_binstall_version != 'no' + shell: bash + env: + GH_TOKEN: ${{ github.token }} + STRIP_V: ${{ matrix.set_cargo_home }} + run: | + # fetch most recent release name. + BINSTALL_VERSION="$(gh release list --json name --jq '[.[] | select(.name | startswith("v")) | .name] | first')" + if [[ $STRIP_V == 'without-v' ]]; then BINSTALL_VERSION="${BINSTALL_VERSION#v*}"; fi + echo "Setting BINSTALL_VERSION=$BINSTALL_VERSION" + echo "BINSTALL_VERSION=$BINSTALL_VERSION" >> "$GITHUB_ENV" + - name: Install `cargo-binstall` using scripts shell: bash run: ./install-from-binstall-release.sh