name: Rust Build & Test on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build_linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Build run: cargo build --release --verbose - name: Run tests run: cargo test --verbose - name: Upload Linux Binary uses: actions/upload-artifact@v3 with: name: rust_tcp_file_transfer_linux_x64_86 path: target/release/*transfer build_windows: runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Build run: cargo build --release --verbose - name: Run tests run: cargo test --verbose - name: Upload Windows Binary uses: actions/upload-artifact@v3 with: name: rust_tcp_file_transfer_windows_x64_86 path: target/release/*transfer.exe build_macos: runs-on: macos-latest steps: - uses: actions/checkout@v3 - name: Build run: cargo build --release --verbose - name: Run tests run: cargo test --verbose - name: Upload MacOS Binary uses: actions/upload-artifact@v3 with: name: rust_tcp_file_transfer_macos_x64_86 path: target/release/*transfer