Skip to content

Shorter recovery sleep #14

Shorter recovery sleep

Shorter recovery sleep #14

Workflow file for this run

name: Release
# Push events to matching v*, i.e. v1.0, v20.15.10
on:
push:
tags:
- 'v*'
jobs:
check:
timeout-minutes: 30
name: Check Signed Tag
runs-on: ubuntu-20.04
outputs:
stringver: ${{ steps.contentrel.outputs.stringver }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
path: src/github.com/auxon/trace-recorder-rtt-proxy
- name: Check signature
run: |
RELEASE_TAG=${{ github.ref }}
RELEASE_TAG="${RELEASE_TAG#refs/tags/}"
TAGCHECK=$(git tag -v ${RELEASE_TAG} 2>&1 >/dev/null) ||
echo "${TAGCHECK}" | grep -q "error" && {
echo "::error::tag ${RELEASE_TAG} is not a signed tag. Failing release process."
exit 1
} || {
echo "Tag ${RELEASE_TAG} is signed."
exit 0
}
working-directory: src/github.com/auxon/trace-recorder-rtt-proxy
# TODO - setup a matrix build for this
linux_package_22_04:
name: Build Release Package (Linux)
timeout-minutes: 60
runs-on: ubuntu-22.04
needs: [check]
steps:
- name: Print version
run: |
RELEASE_TAG=${{ github.ref }}
RELEASE_TAG="${RELEASE_TAG#refs/tags/}"
RELEASE_VERSION="${RELEASE_TAG#v}"
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
echo "Release tag: $RELEASE_TAG"
echo "Release version: $RELEASE_VERSION"
- name: Install system packages
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends libusb-1.0-0-dev libftdi1-dev libudev-dev lintian dpkg dpkg-dev liblzma-dev
- name: Checkout
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Fetch dependencies
run: |
cargo install cargo-deb
cargo fetch
- name: Build release binaries
run: cargo build --release
- name: Build example release binaries
run: cargo build --release --examples
- name: Build debian package
run: cargo deb -v --deb-version ${{ env.RELEASE_VERSION }}+22.04
- name: Create github release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: false
prerelease: false
name: Release ${{ env.RELEASE_VERSION }}
fail_on_unmatched_files: true
files: |
target/release/trc-rtt-proxy
target/release/examples/trc-rtt-proxy-client
target/debian/trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+22.04_amd64.deb
# TODO - setup a matrix build for this
linux_package_20_04:
name: Build Release Package (Linux)
timeout-minutes: 60
runs-on: ubuntu-20.04
needs: [check]
steps:
- name: Print version
run: |
RELEASE_TAG=${{ github.ref }}
RELEASE_TAG="${RELEASE_TAG#refs/tags/}"
RELEASE_VERSION="${RELEASE_TAG#v}"
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
echo "Release tag: $RELEASE_TAG"
echo "Release version: $RELEASE_VERSION"
- name: Install system packages
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends libusb-1.0-0-dev libftdi1-dev libudev-dev lintian dpkg dpkg-dev liblzma-dev
- name: Checkout
uses: actions/checkout@v4
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Fetch dependencies
run: |
cargo install cargo-deb
cargo fetch
- name: Build release binaries
run: cargo build --release
- name: Build example release binaries
run: cargo build --release --examples
- name: Build debian package
run: cargo deb -v --deb-version ${{ env.RELEASE_VERSION }}+20.04
- name: Create github release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: false
prerelease: false
name: Release ${{ env.RELEASE_VERSION }}
fail_on_unmatched_files: true
files: |
target/debian/trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+20.04_amd64.deb
mac_package:
name: Build Release Package (Mac)
timeout-minutes: 60
runs-on: macos-latest
needs: [check]
steps:
- name: Print version
run: |
RELEASE_TAG=${{ github.ref }}
RELEASE_TAG="${RELEASE_TAG#refs/tags/}"
RELEASE_VERSION="${RELEASE_TAG#v}"
echo "RELEASE_TAG=$RELEASE_TAG" >> $GITHUB_ENV
echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV
echo "Release tag: $RELEASE_TAG"
echo "Release version: $RELEASE_VERSION"
- name: Checkout
uses: actions/checkout@v4
- name: Install rust toolchains (x86, arm)
run: |
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin
- name: Build packages (intel)
shell: bash
run: |
cargo build --release --target x86_64-apple-darwin
cargo build --release --examples --target x86_64-apple-darwin
mkdir -p target/package/x86_64-apple-darwin
cp target/x86_64-apple-darwin/release/trc-rtt-proxy target/package/x86_64-apple-darwin/
cp target/x86_64-apple-darwin/release/examples/trc-rtt-proxy-client target/package/x86_64-apple-darwin/
cd target/package/x86_64-apple-darwin/
tar -czf trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+mac.amd64.tar.gz trc-rtt-proxy trc-rtt-proxy-client
- name: Build packages (arm)
shell: bash
run: |
cargo build --release --target aarch64-apple-darwin
cargo build --release --examples --target aarch64-apple-darwin
mkdir -p target/package/aarch64-apple-darwin
cp target/aarch64-apple-darwin/release/trc-rtt-proxy target/package/aarch64-apple-darwin/
cp target/aarch64-apple-darwin/release/examples/trc-rtt-proxy-client target/package/aarch64-apple-darwin/
cd target/package/aarch64-apple-darwin/
tar -czf trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+mac.arm64.tar.gz trc-rtt-proxy trc-rtt-proxy-client
- name: Create github release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
draft: false
prerelease: false
name: Release ${{ env.RELEASE_VERSION }}
fail_on_unmatched_files: true
files: |
target/package/x86_64-apple-darwin/trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+mac.amd64.tar.gz
target/package/aarch64-apple-darwin/trace-recorder-rtt-proxy_${{ env.RELEASE_VERSION }}+mac.arm64.tar.gz