name: Rust on: push: branches: [ "main", "master" ] pull_request: branches: [ "main", "master" ] env: CARGO_TERM_COLOR: always jobs: build: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] arch: [x86_64] include: - arch: x86_64 target: x86_64-unknown-linux-gnu - os: macos-latest arch: x86_64 target: x86_64-apple-darwin runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true target: ${{ matrix.target }} - name: Build run: cargo build --release --target ${{ matrix.target }} - name: Run tests run: cargo test --verbose --target ${{ matrix.target }} - name: Upload artifacts uses: actions/upload-artifact@v3 with: name: Zenyx-${{ runner.os }}-${{ matrix.arch }}-binary path: | target/${{ matrix.target }}/release/*.exe target/${{ matrix.target }}/release/*[^.]*