name: Rust on: push: branches: ["main"] pull_request: branches: ["main"] env: CARGO_TERM_COLOR: always jobs: build-linux: runs-on: ubuntu-latest env: TARGET: x86_64-unknown-linux-gnu steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install sdl2 headers run: | sudo apt -y install libsdl2-dev - uses: actions-rust-lang/setup-rust-toolchain@v1 with: rustflags: "" - name: Build run: | cargo build --release -v --target=${{ env.TARGET }} - name: Upload file uses: actions/upload-artifact@v4 with: name: gopher64-linux path: target/${{ env.TARGET }}/release/gopher64 build-windows: runs-on: windows-latest env: TARGET: x86_64-pc-windows-msvc steps: - uses: actions/checkout@v4 with: submodules: recursive - uses: actions-rust-lang/setup-rust-toolchain@v1 with: rustflags: "" - name: Build run: | cargo build --release -v --target=${{ env.TARGET }} - name: Upload file uses: actions/upload-artifact@v4 with: name: gopher64-windows path: target/${{ env.TARGET }}/release/gopher64.exe build-macos: runs-on: macos-latest env: TARGET: x86_64-apple-darwin steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install sdl2 headers run: | brew install sdl2 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: target: ${{ env.TARGET }} rustflags: "" - name: Build run: | cargo build --release -v --target=${{ env.TARGET }} - name: Upload file uses: actions/upload-artifact@v4 with: name: gopher64-mac path: target/${{ env.TARGET }}/release/gopher64