name: build every commit on: push: branches: - master - 'v[0-9]*' jobs: build: strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest - windows-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@master with: toolchain: stable - uses: Swatinem/rust-cache@v2 - run: cargo build --release - if: matrix.os == 'windows-latest' uses: actions/upload-artifact@v3 with: path: target/release/gossip.exe name: gossip.exe - if: matrix.os == 'ubuntu-latest' uses: actions/upload-artifact@v3 with: path: target/release/gossip* name: gossip_linux - if: matrix.os == 'macos-latest' uses: actions/upload-artifact@v3 with: path: target/release/gossip* name: gossip_macos