--- 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,globe_view", "globe_view", "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 debug & render 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 debug & globe_view binary uses: actions/upload-artifact@v3 if: ${{ matrix.features == 'debug,globe_view' }} with: name: worlds-rs-${{ matrix.os }}-debug-globe_view path: target/release/worlds-sim-rust* - name: Upload non-debug binary uses: actions/upload-artifact@v3 if: ${{ !contains(matrix.features, ',') && 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 # if: ${{ startsWith(github.ref, 'refs/tags/') }} # 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/*