noita_entangled_worlds/.github/workflows/release.yml
2025-10-06 16:01:08 +03:00

129 lines
3.7 KiB
YAML

name: release
on: [push, pull_request]
jobs:
build-mod:
runs-on: ubuntu-22.04
name: Build mod and ewext
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: i686-pc-windows-gnu
toolchain: 'nightly'
- name: Install extra deps
run: sudo apt-get update && sudo apt-get install -y gcc-mingw-w64-i686
- uses: Swatinem/rust-cache@v2
with:
workspaces: ewext -> target
- name: Build ewext
run: |
rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu
cargo +nightly build --release --target=i686-pc-windows-gnu -Zbuild-std="panic_abort,std"
working-directory: ./ewext
- name: Copy ewext
run: cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext.dll
- name: Create archive
run: python scripts/ci_make_archives.py mod
- uses: actions/upload-artifact@v4
with:
name: quant.ew.zip
path: target/quant.ew.zip
build-proxy-linux:
name: Build proxy for linux
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-gnu
- name: Install extra deps
run: sudo apt-get update && sudo apt-get install -y libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev gcc-mingw-w64-i686 gcc-mingw-w64 libasound2-dev libjack-dev
- uses: Swatinem/rust-cache@v2
with:
workspaces: noita-proxy -> target
- name: Build Linux proxy release
run: cargo build --release
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py linux
- uses: actions/upload-artifact@v4
with:
name: noita-proxy-linux.zip
path: target/noita-proxy-linux.zip
build-proxy-macos:
name: Build proxy for macos
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: noita-proxy -> target
- name: Build Macos proxy release
run: cargo build --release
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py macos
- uses: actions/upload-artifact@v4
with:
name: noita-proxy-macos-arm64.zip
path: target/noita-proxy-macos.zip
build-proxy-windows:
name: Build proxy for windows
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: noita-proxy -> target
- name: Build Windows proxy release
run: cargo build --release
working-directory: ./noita-proxy
- name: Create archives
run: python scripts/ci_make_archives.py windows
- uses: actions/upload-artifact@v4
with:
name: noita-proxy-win.zip
path: target/noita-proxy-win.zip
release:
name: Release
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-22.04
permissions:
contents: write
needs: [build-mod, build-proxy-linux, build-proxy-windows, build-proxy-macos]
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: last_release_notes.md
- name: Download all workflow run artifacts
uses: actions/download-artifact@v4
with:
merge-multiple: true
- uses: ncipollo/release-action@v1
with:
#draft: true
artifacts: "*.zip"
bodyFile: last_release_notes.md