52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: rust-binary-build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
paths:
|
|
- 'rust-toolchain.toml'
|
|
- 'adk-rust/**'
|
|
- '.github/workflows/rust-binary-build.yml'
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build-linux-x86_64:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install pinned Rust toolchain
|
|
run: |
|
|
rustup toolchain install 1.94.0 --profile minimal --component rustfmt --component clippy
|
|
rustup override set 1.94.0
|
|
rustup show active-toolchain
|
|
cargo +1.94.0 --version
|
|
rustc +1.94.0 --version
|
|
|
|
- name: Check, test and build
|
|
run: |
|
|
cargo +1.94.0 fmt --manifest-path adk-rust/Cargo.toml --all -- --check
|
|
cargo +1.94.0 test --manifest-path adk-rust/Cargo.toml --workspace --no-fail-fast
|
|
cargo +1.94.0 clippy --manifest-path adk-rust/Cargo.toml --workspace --all-targets -- -D warnings
|
|
cargo +1.94.0 build --manifest-path adk-rust/Cargo.toml --workspace --release
|
|
|
|
- name: Upload release binaries artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: awatch-rus-linux-x86_64-release-binaries
|
|
path: |
|
|
adk-rust/target/release/*
|
|
!adk-rust/target/release/deps/**
|
|
!adk-rust/target/release/build/**
|
|
!adk-rust/target/release/examples/**
|
|
!adk-rust/target/release/incremental/**
|
|
!adk-rust/target/release/*.d
|
|
if-no-files-found: error
|
|
retention-days: 30
|