name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v3 - name: Build Linux x86 run: cargo build --release - uses: actions-rs/toolchain@v1 name: Toolchain Windows x86 with: toolchain: stable target: x86_64-pc-windows-msvc - uses: actions-rs/toolchain@v1 name: Toolchain Apple x86 with: toolchain: stable target: x86_64-apple-darwin - uses: actions-rs/cargo@v1 name: Build Windows x86 with: use-cross: true command: build args: --release --target x86_64-pc-windows-msvc - uses: actions-rs/cargo@v1 name: Build Apple x86 with: use-cross: true command: build args: --release --target x86_64-apple-darwin - name: Run tests run: cargo test --verbose - name: Set short git commit SHA id: vars run: | calculatedSha=$(git rev-parse --short ${{ github.sha }}) echo "::set-output name=short_sha::$calculatedSha" - name: ${{ steps.vars.outputs.short_sha }} uses: softprops/action-gh-release@v0.1.15 with: tag_name: ${{ steps.vars.outputs.short_sha }} generate_release_notes: true files: | target/release/rust-tcp-file-transfer target/*windows*/release/rust-tcp-file-transfer.exe target/*apple*/release/rust-tcp-file-transfer