name: release on: [push] 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 - name: Install extra deps run: sudo apt-get install -y gcc-mingw-w64-i686 - uses: Swatinem/rust-cache@v2 with: workspaces: ewext -> target - name: Build ewext run: cargo build --release --target i686-pc-windows-gnu working-directory: ./ewext - name: Copy ewext run: cp ewext/target/i686-pc-windows-gnu/release/ewext.dll quant.ew/ewext0.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 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 - 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-windows: name: Build proxy for windows 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 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 - uses: Swatinem/rust-cache@v2 with: workspaces: noita-proxy -> target - name: Build Windows proxy release run: cargo build --release --target x86_64-pc-windows-gnu 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] steps: - uses: actions/checkout@v4 - name: Download all workflow run artifacts uses: actions/download-artifact@v4 with: merge-multiple: true - name: List artifacts run: ls -R - name: Get tag message run: git tag -l --format='%(contents)' $(git describe --tags) > release_body.md - uses: ncipollo/release-action@v1 with: draft: true artifacts: "*.zip" bodyFile: release_body.md