blue_engine 0.10.0

General-Purpose, Easy-to-use, Fast, and Portable graphics engine
Documentation
name: Release

on:
  release:
    types: [created]

jobs:
  test_build:
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: ubuntu-latest
            name: Build Linux
          - os: windows-latest
            name: Build Windows
          - os: macos-latest
            name: Build MacOS

    name: ${{ matrix.name }}
    runs-on: '${{ matrix.os }}'
    environment: production

    env:
      CARGO_INCREMENTAL: 0
      cache-key: "cargo-cache"

    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: cargo build --release --verbose

  publish:
    runs-on: ubuntu-latest
    name: Publish Blue Engine to crates.io

    steps:
      - uses: actions/checkout@v4
      - name: publish core
        run: cd crates/blue_engine_core && cargo publish --allow-dirty --token ${{ secrets.CRATES_IO_TOKEN }}
        continue-on-error: true
      - name: publish dynamic
        run: cd crates/blue_engine_dynamic && cargo publish --allow-dirty --token ${{ secrets.CRATES_IO_TOKEN }}
        continue-on-error: true
      - name: publish base
        run: cargo publish --allow-dirty --token ${{ secrets.CRATES_IO_TOKEN }}
      - name: publish utilities
        run: cd crates/blue_engine_utilities && cargo publish --allow-dirty --token ${{ secrets.CRATES_IO_TOKEN }}
        continue-on-error: true