--- name: pre-release on: push: branches: - "main" jobs: compile: name: "Compilation" strategy: matrix: os: [windows-2022, ubuntu-22.04, macos-12] features: ["debug,render", render, "debug", ""] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v3 - name: Install rust toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - name: Build binary run: | cargo build --release --no-default-features --features=${{ matrix.features }} - name: Upload full binary uses: actions/upload-artifact@v3 if: ${{ matrix.features == 'debug,render' }} with: name: worlds-rs-${{ matrix.os }}-debug-render path: target/release/worlds-sim-rust* - name: Upload partial-feature binary uses: actions/upload-artifact@v3 if: ${{ matrix.features != 'debug,render' && matrix.features != '' }} with: name: worlds-rs-${{ matrix.os }}-${{ matrix.features }} path: target/release/worlds-sim-rust* - name: Upload basic binary uses: actions/upload-artifact@v3 if: ${{ matrix.features == '' }} with: name: worlds-rs-${{ matrix.os }}-none path: target/release/worlds-sim-rust* create-release: name: "Create release" runs-on: ubuntu-22.04 needs: [compile] steps: - uses: actions/download-artifact@v3 with: name: worlds-rs-windows-2022-full path: ~/download/worlds-rs-windows-2022-full.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-windows-2022-debug path: ~/download/worlds-rs-windows-2022-debug.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-windows-2022-render path: ~/download/worlds-rs-windows-2022-render.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-windows-2022-none path: ~/download/worlds-rs-windows-2022-none.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-ubuntu-22.04-full path: ~/download/worlds-rs-ubuntu-22.04-full.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-ubuntu-22.04-debug path: ~/download/worlds-rs-ubuntu-22.04-debug.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-ubuntu-22.04-render path: ~/download/worlds-rs-ubuntu-22.04-render.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-ubuntu-22.04-none path: ~/download/worlds-rs-ubuntu-22.04-none.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-macos-12-full path: ~/download/worlds-rs-macos-12-full.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-macos-12-debug path: ~/download/worlds-rs-macos-12-debug.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-macos-12-render path: ~/download/worlds-rs-macos-12-render.zip - uses: actions/download-artifact@v3 with: name: worlds-rs-macos-12-none path: ~/download/worlds-rs-macos-12-none.zip - name: Upload binaries uses: softprops/action-gh-release@v1 with: files: ~/download/*