rust-tcp-file-transfer/.github/workflows/rust.yml
Ahmet Kaan GÜMÜŞ ada284ec50 docs: rust.yml
2023-10-02 22:49:54 +03:00

72 lines
2 KiB
YAML

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