Skip to content

build: Try to fix the syntax to update latest.txt (#126) #55

build: Try to fix the syntax to update latest.txt (#126)

build: Try to fix the syntax to update latest.txt (#126) #55

name: Release-plz Release w/ Binaries
permissions:
pull-requests: write
contents: write
on:
push:
branches:
- main
jobs:
release-plz-release:
name: Release-plz release
runs-on: ubuntu-latest
outputs:
releases: ${{ steps.parse-releases.outputs.releases }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Run release-plz
id: release-plz
uses: release-plz/[email protected]
with:
command: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
- name: Parse release outputs
id: parse-releases
run: |
echo "Parsing releases from release-plz..."
RELEASES='${{ steps.release-plz.outputs.releases }}'
echo "Raw releases data: $RELEASES"
echo "$RELEASES" | jq -c '.[]' | while read release; do
package_name=$(echo "$release" | jq -r '.package_name')
if [[ "$package_name" == "webterm-agent" || "$package_name" == "webterm-relay" ]]; then
echo "Found relevant release: $package_name"
echo "$release" >> relevant_releases.jsonl
else
echo "Skipping irrelevant release: $package_name"
fi
done
if [[ -f relevant_releases.jsonl ]]; then
FILTERED=$(cat relevant_releases.jsonl | jq -sc)
echo "Filtered releases: $FILTERED"
echo "releases=$FILTERED" >> $GITHUB_OUTPUT
else
echo "No relevant releases found."
echo "releases=[]" >> $GITHUB_OUTPUT
fi
upload-binaries:
name: Upload Binaries
needs: release-plz-release
if: needs.release-plz-release.outputs.releases != '[]'
strategy:
matrix:
release: ${{ fromJSON(needs.release-plz-release.outputs.releases) }}
target:
- name: x86_64-unknown-linux-gnu
os: ubuntu-24.04
- name: aarch64-unknown-linux-gnu
os: ubuntu-24.04-arm
include:
- release:
package_name: webterm-agent
target:
name: x86_64-unknown-linux-gnu
- release:
package_name: webterm-agent
target:
name: aarch64-unknown-linux-gnu
- release:
package_name: webterm-relay
target:
name: x86_64-unknown-linux-gnu
- release:
package_name: webterm-relay
target:
name: aarch64-unknown-linux-gnu
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Debug environment
run: |
echo "Package name: ${{ matrix.release.package_name }}"
echo "Version: ${{ matrix.release.version }}"
echo "Tag: ${{ matrix.release.tag }}"
echo "Ref: ${{ env.GITHUB_REF }}"
echo "Target: ${{ matrix.target.name }}"
echo "OS: ${{ matrix.target.os }}"
- name: Upload Rust Binary to GitHub Release
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ${{ matrix.release.package_name }}
target: ${{ matrix.target.name }}
token: ${{ secrets.GITHUB_TOKEN }}
ref: refs/tags/${{ matrix.release.tag }}