diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 23caf74..c806c32 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -88,6 +88,22 @@ jobs: sudo apt update sudo apt install -y mkosi + - name: Fetch latest release tags + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -euo pipefail + + # Fetch latest tags using gh CLI (automatically authenticated) + SNPGUEST_TAG=$(gh release view --repo virtee/snpguest --json tagName --jq '.tagName') + BEACON_TAG=$(gh release view --repo AMDEPYC/beacon --json tagName --jq '.tagName') + SNPHOST_TAG=$(gh release view --repo virtee/snphost --json tagName --jq '.tagName') + + # Inject environment variables into mkosi.conf files + sed -i "/^\[Build\]/a\Environment=SNPGUEST_TAG=$SNPGUEST_TAG" modules/snpguest-build/mkosi.conf + sed -i "/^\[Build\]/a\Environment=BEACON_TAG=$BEACON_TAG" modules/beacon/mkosi.conf + sed -i "/^\[Build\]/a\Environment=SNPHOST_TAG=$SNPHOST_TAG" modules/snphost/mkosi.conf + - name: Build guest-${{ matrix.distro }}-${{ matrix.release }} run: | sudo mkosi --image-id=guest-${{ matrix.distro }}-${{ matrix.release }} -C images/guest-${{ matrix.distro }}-${{ matrix.release }}/ cat-config @@ -156,4 +172,3 @@ jobs: "https://uploads.github.com/repos/$GITHUB_REPOSITORY/releases/$RELEASE_ID/assets?name=$ASSET_NAME" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - diff --git a/modules/beacon/mkosi.build b/modules/beacon/mkosi.build index 3a03aff..52c80bb 100755 --- a/modules/beacon/mkosi.build +++ b/modules/beacon/mkosi.build @@ -2,9 +2,8 @@ set -euo pipefail set -x -# Fetch latest release tag from GitHub API using jq -LATEST_TAG=$(curl -s https://api.github.com/repos/AMDEPYC/beacon/releases/latest \ - | jq -r '.tag_name') +# Use BEACON_TAG if set, otherwise fetch from GitHub API +LATEST_TAG="${BEACON_TAG:-$(curl -s https://api.github.com/repos/AMDEPYC/beacon/releases/latest | jq -r '.tag_name')}" # Download and install into DESTDIR with correct permissions curl -fsSL "https://github.com/AMDEPYC/beacon/releases/download/${LATEST_TAG}/beacon-linux-x86_64" \ diff --git a/modules/snpguest-build/mkosi.build b/modules/snpguest-build/mkosi.build index 125aec3..8b2eca4 100755 --- a/modules/snpguest-build/mkosi.build +++ b/modules/snpguest-build/mkosi.build @@ -2,9 +2,8 @@ set -euo pipefail set -x -# Fetch latest release tag from GitHub API -LATEST_TAG=$(curl -s https://api.github.com/repos/virtee/snpguest/releases/latest \ - | jq -r '.tag_name') +# Use SNPGUEST_TAG if set, otherwise fetch from GitHub API +LATEST_TAG="${SNPGUEST_TAG:-$(curl -s https://api.github.com/repos/virtee/snpguest/releases/latest | jq -r '.tag_name')}" # Download and install into DESTDIR with correct permissions curl -fsSL "https://github.com/virtee/snpguest/releases/download/${LATEST_TAG}/snpguest" \ diff --git a/modules/snphost/mkosi.build b/modules/snphost/mkosi.build index 6aa3c68..5b1ab51 100755 --- a/modules/snphost/mkosi.build +++ b/modules/snphost/mkosi.build @@ -2,9 +2,8 @@ set -euo pipefail set -x -# Fetch latest release tag from GitHub API -LATEST_TAG=$(curl -s https://api.github.com/repos/virtee/snphost/releases/latest \ - | jq -r '.tag_name') +# Use SNPHOST_TAG if set, otherwise fetch from GitHub API +LATEST_TAG="${SNPHOST_TAG:-$(curl -s https://api.github.com/repos/virtee/snphost/releases/latest | jq -r '.tag_name')}" # Download and install into DESTDIR with correct permissions curl -fsSL "https://github.com/virtee/snphost/releases/download/${LATEST_TAG}/snphost" \