From 2f5d52366345731223919af13e983904622d5b60 Mon Sep 17 00:00:00 2001 From: Chance Date: Sat, 19 Apr 2025 00:05:31 -0400 Subject: [PATCH] wip: fix workflow --- .forgejo/workflows/build-release.yml | 60 +++++++++++++++++----------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/.forgejo/workflows/build-release.yml b/.forgejo/workflows/build-release.yml index e3d7f9e..a7c7566 100644 --- a/.forgejo/workflows/build-release.yml +++ b/.forgejo/workflows/build-release.yml @@ -14,15 +14,6 @@ jobs: - name: 📥 Checkout source uses: https://github.com/actions/checkout@v4 - - name: 🗄️ Cache tools - uses: https://github.com/actions/cache@v4 - id: cache-tools - with: - path: | - ~/.cargo/bin - /tmp/zig - key: tools-v1-${{ hashFiles('**/Cargo.lock') }} - - name: 🦀 Install Rust toolchain uses: https://github.com/actions-rs/toolchain@v1 with: @@ -30,13 +21,28 @@ jobs: components: rust-src override: true - - name: 📦 Install Zig and cargo-zigbuild + - name: 🗄️ Cache tools + uses: https://github.com/actions/cache@v4 + id: cache-tools + with: + path: | + ~/.cargo/bin + /tmp/zig + /tmp/xwin + key: tools-v2-${{ hashFiles('**/Cargo.lock') }} + + - name: 🔧 Install build tools if: steps.cache-tools.outputs.cache-hit != 'true' run: | - mkdir -p /tmp/zig - curl -L https://ziglang.org/builds/zig-linux-x86_64-0.11.0.tar.xz | tar -xJ -C /tmp/zig --strip-components=1 - curl -L https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash - cargo binstall -y cargo-zigbuild + mkdir -p /tmp/zig /tmp/xwin + # Install cargo-binstall + curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash + # Install cross-compilation tools + cargo binstall -y cargo-zigbuild cargo-xwin + # Install Zig + curl -L https://ziglang.org/download/0.14.0/zig-linux-x86_64-0.14.0.tar.xz | tar -xJ -C /tmp/zig --strip-components=1 + # Install Xwin + cargo xwin --version >/dev/null 2>&1 build: name: 🏗️ Build ${{ matrix.target }} @@ -64,23 +70,24 @@ jobs: - name: 📥 Checkout source uses: https://github.com/actions/checkout@v4 - - name: 🗄️ Restore tool cache + - name: 🛠️ Restore tool cache uses: https://github.com/actions/cache@v4 with: path: | ~/.cargo/bin /tmp/zig - key: tools-v1-${{ hashFiles('**/Cargo.lock') }} + /tmp/xwin + key: tools-v2-${{ hashFiles('**/Cargo.lock') }} - - name: 📍 Add Zig to PATH - run: echo "/tmp/zig" >> $GITHUB_PATH + - name: 📍 Add tools to PATH + run: | + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + echo "/tmp/zig" >> $GITHUB_PATH - - name: 🎯 Install Rust target - uses: https://github.com/actions-rs/toolchain@v1 + - name: 🎯 Install Rust target (actions-rs) + uses: https://github.com/actions-rs/install@v1 with: - toolchain: stable target: ${{ matrix.target }} - override: true - name: 🗄️ Restore Cargo cache uses: https://github.com/actions/cache@v4 @@ -93,8 +100,13 @@ jobs: restore-keys: | cargo-${{ matrix.target }}- - - name: 🚀 Build release binary - run: cargo zigbuild --target ${{ matrix.target }} --release + - name: 🚀 Build project + run: | + if [[ "${{ matrix.target }}" == *"windows"* ]]; then + cargo xwin build --target ${{ matrix.target }} --release + else + cargo zigbuild --target ${{ matrix.target }} --release + fi - name: 📦 Package artifact run: |