name: Agent Release Artifacts on: release: types: [published] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: concurrency: group: agent-release-artifacts-${{ github.ref }} cancel-in-progress: true env: CARGO_TERM_COLOR: always RUST_BACKTRACE: full jobs: prepare: runs-on: ubuntu-latest outputs: tag_date: ${{ steps.taggen.outputs.TAG_DATE }} tag_sha: ${{ steps.taggen.outputs.TAG_SHA }} steps: - name: generate tag data id: taggen run: | echo "TAG_DATE=$(date +'%Y%m%d-%H%M%S')" >> $GITHUB_OUTPUT echo "TAG_SHA=$(echo '${{ github.sha }}' | cut -b 1-7)" >> $GITHUB_OUTPUT build: needs: prepare strategy: fail-fast: false matrix: include: - TARGET: x86_64-unknown-linux-gnu OS: ubuntu-latest - TARGET: x86_64-apple-darwin OS: macos-latest - TARGET: aarch64-apple-darwin OS: macos-latest - TARGET: x86_64-pc-windows-msvc OS: windows-latest runs-on: ${{ matrix.OS }} steps: - name: checkout uses: actions/checkout@v3 - name: ubuntu setup if: ${{ matrix.OS == 'ubuntu-latest' }} run: | sudo apt-get update -qq sudo apt-get install -qq crossbuild-essential-arm64 crossbuild-essential-armhf # some additional configuration for cross-compilation on linux cat >>~/.cargo/config <