diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 141834d..edae226 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,12 +3,12 @@ name: Release on: [push] jobs: - build-linux: + build-linux-x86_64: runs-on: ubuntu-latest steps: - name: Install dependencies - run: sudo apt-get install libasound2-dev libudev-dev pkg-config + run: sudo apt-get update && sudo apt-get install libasound2-dev libudev-dev pkg-config - name: Cache Cargo registry uses: actions/cache@v2 @@ -59,7 +59,7 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v2 with: - name: doukutsu-rs_linux_amd64 + name: doukutsu-rs_linux_x86_64 path: | doukutsu-rs.x86_64 data @@ -78,7 +78,153 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - build-windows: + build-windows-arm64: + runs-on: windows-latest + + steps: + - name: Cache Cargo registry + uses: actions/cache@v2 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-stable-cargo-registry + restore-keys: | + ${{ runner.os }}-stable-cargo-registry- + + - name: Cache Cargo index + uses: actions/cache@v2 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-stable-cargo-index + restore-keys: | + ${{ runner.os }}-stable-cargo-index- + + - name: Cache Cargo build + uses: actions/cache@v2 + with: + path: target + key: ${{ runner.os }}-stable-target + restore-keys: | + ${{ runner.os }}-stable-target + + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Checkout data files + uses: actions/checkout@v2 + with: + repository: doukutsu-rs/game-data + path: data + + - name: Install latest stable Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: aarch64-pc-windows-msvc + default: true + override: true + + - name: Build + run: cargo build --target aarch64-pc-windows-msvc --all --release + + - name: Copy executable to root directory + run: cp target/aarch64-pc-windows-msvc/release/doukutsu-rs.exe doukutsu-rs.exe + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: doukutsu-rs_windows_arm64 + path: | + doukutsu-rs.exe + data + !data/.git + !data/README.md + if-no-files-found: error + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + doukutsu-rs.exe + data + !data/README.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build-windows-x86: + runs-on: windows-latest + + steps: + - name: Cache Cargo registry + uses: actions/cache@v2 + with: + path: ~/.cargo/registry + key: ${{ runner.os }}-stable-cargo-registry + restore-keys: | + ${{ runner.os }}-stable-cargo-registry- + + - name: Cache Cargo index + uses: actions/cache@v2 + with: + path: ~/.cargo/git + key: ${{ runner.os }}-stable-cargo-index + restore-keys: | + ${{ runner.os }}-stable-cargo-index- + + - name: Cache Cargo build + uses: actions/cache@v2 + with: + path: target + key: ${{ runner.os }}-stable-target + restore-keys: | + ${{ runner.os }}-stable-target + + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Checkout data files + uses: actions/checkout@v2 + with: + repository: doukutsu-rs/game-data + path: data + + - name: Install latest stable Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: i686-pc-windows-msvc + default: true + override: true + + - name: Build + run: cargo build --target i686-pc-windows-msvc --all --release + + - name: Copy executable to root directory + run: cp target/i686-pc-windows-msvc/release/doukutsu-rs.exe doukutsu-rs.exe + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: doukutsu-rs_windows_x86 + path: | + doukutsu-rs.exe + data + !data/.git + !data/README.md + if-no-files-found: error + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + doukutsu-rs.exe + data + !data/README.md + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + build-windows-x64: runs-on: windows-latest steps: