add winarm64 build #281
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: .NET Core Desktop | |
| on: | |
| push: | |
| paths-ignore: | |
| - README.md | |
| workflow_dispatch: | |
| jobs: | |
| cli-ubuntu-x64: | |
| name: cli-ubuntu | |
| runs-on: ubuntu-22.04 | |
| outputs: | |
| linux_x64_sha256: ${{ steps.make-appimage.outputs.linux_x64_sha256 }} | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| ARCHITECTURE: x64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install .NET Core | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Make Build | |
| run: make build -C build/linux VERSION=${{ steps.gitversion.outputs.AssemblySemFileVer }} ARCH=${{ env.ARCHITECTURE }} | |
| - name: Download appimagetool | |
| run: curl https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -Lo appimagetool-aarch64.AppImage | |
| - name: Make AppImage | |
| id: make-appimage | |
| run: | | |
| chmod +x appimagetool-aarch64.AppImage | |
| mkdir -p build/linux/stalker-gamma.AppDir/usr/bin/ | |
| cp -r build/linux/build/stalker-gamma-cli/* build/linux/stalker-gamma.AppDir/usr/bin/ | |
| ./appimagetool-aarch64.AppImage build/linux/stalker-gamma.AppDir stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| chmod +x stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| hash=$(sha256sum stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | cut -d ' ' -f 1) | |
| echo "linux_x64_sha256=$hash" >> $GITHUB_OUTPUT | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+linux.${{ env.ARCHITECTURE }} | |
| path: build/linux/build/stalker-gamma-cli | |
| compression-level: 9 | |
| cli-ubuntu-arm64: | |
| name: cli-ubuntu-arm64 | |
| runs-on: ubuntu-22.04-arm | |
| outputs: | |
| linux_arm64_sha256: ${{ steps.make-appimage.outputs.linux_arm64_sha256 }} | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| ARCHITECTURE: arm64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install .NET Core | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Make Build | |
| run: make build -C build/linux VERSION=${{ steps.gitversion.outputs.AssemblySemFileVer }} ARCH=${{ env.ARCHITECTURE }} | |
| - name: Download appimagetool | |
| run: curl https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-aarch64.AppImage -Lo appimagetool-aarch64.AppImage | |
| - name: Make AppImage | |
| id: make-appimage | |
| run: | | |
| chmod +x appimagetool-aarch64.AppImage | |
| mkdir -p build/linux/stalker-gamma.AppDir/usr/bin/ | |
| cp -r build/linux/build/stalker-gamma-cli/* build/linux/stalker-gamma.AppDir/usr/bin/ | |
| ./appimagetool-aarch64.AppImage build/linux/stalker-gamma.AppDir stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| chmod +x stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| hash=$(sha256sum stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | cut -d ' ' -f 1) | |
| echo "linux_arm64_sha256=$hash" >> $GITHUB_OUTPUT | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: stalker-gamma+linux.${{ env.ARCHITECTURE }}.AppImage | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+linux.${{ env.ARCHITECTURE }} | |
| path: build/linux/build/stalker-gamma-cli | |
| compression-level: 9 | |
| cli-macos-arm64: | |
| name: cli-macos-arm64 | |
| runs-on: macos-15 | |
| outputs: | |
| macos_arm64_sha256: ${{ steps.build.outputs.macos_arm64_sha256 }} | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| ARCHITECTURE: arm64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install .NET Core | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Make Build | |
| id: build | |
| run: | | |
| make build -C build/mac VERSION=${{ steps.gitversion.outputs.AssemblySemFileVer }} ARCH=${{ env.ARCHITECTURE }} | |
| make archive VERSION=${{ steps.gitversion.outputs.SemVer }} -C build/mac ARCH=${{ env.ARCHITECTURE }} | |
| hash=$(sha256sum --quiet build/mac/stalker-gamma+mac.arm64.tar.gz) | |
| echo "macos_arm64_sha256=$hash" >> $GITHUB_OUTPUT | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: build/mac/stalker-gamma+mac.arm64.tar.gz | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+mac.arm64 | |
| path: build/mac/build/stalker-gamma | |
| compression-level: 9 | |
| cli-macos-x64: | |
| name: cli-macos-x64 | |
| runs-on: macos-15-intel | |
| outputs: | |
| macos_x64_sha256: ${{ steps.build.outputs.macos_x64_sha256 }} | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| ARCHITECTURE: x64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install .NET Core | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Make Build | |
| id: build | |
| run: | | |
| make build -C build/mac VERSION=${{ steps.gitversion.outputs.AssemblySemFileVer }} ARCH=${{ env.ARCHITECTURE }} | |
| make archive VERSION=${{ steps.gitversion.outputs.SemVer }} -C build/mac ARCH=${{ env.ARCHITECTURE }} | |
| hash=$(sha256sum --quiet build/mac/stalker-gamma+mac.x64.tar.gz) | |
| echo "macos_x64_sha256=$hash" >> $GITHUB_OUTPUT | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: build/mac/stalker-gamma+mac.x64.tar.gz | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+mac.x64 | |
| path: build/mac/build/stalker-gamma | |
| compression-level: 9 | |
| cli-windows: | |
| name: cli-windows | |
| runs-on: windows-latest | |
| outputs: | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Build CLI | |
| run: build/win/build.bat ${{ steps.gitversion.outputs.SemVer }} | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: stalker-gamma+win.x64.zip | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+win.x64 | |
| path: build/win/build/stalker-gamma-cli | |
| compression-level: 9 | |
| cli-windows-arm64: | |
| name: cli-windows-arm64 | |
| runs-on: windows-11-arm | |
| outputs: | |
| version: ${{ steps.gitversion.outputs.SemVer }} | |
| env: | |
| APP_NAME: stalker-gamma-gui | |
| PROJECT_FOLDER: stalker-gamma-cli | |
| PROJECT_NAME: stalker-gamma-cli.csproj | |
| CONFIGURATION: Release | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Run Csharpier | |
| run: | | |
| dotnet tool restore | |
| dotnet csharpier check . | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v0 | |
| with: | |
| versionSpec: "5.x" | |
| - name: Determine Version | |
| id: gitversion | |
| uses: gittools/actions/gitversion/execute@v0 | |
| - name: Build CLI | |
| run: build/win/build.bat ${{ steps.gitversion.outputs.SemVer }} arm64 | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2.4.2 | |
| if: github.ref_type == 'tag' | |
| with: | |
| files: stalker-gamma+win.arm64.zip | |
| token: ${{ secrets.STALKER_GAMMA_CLI_SECRET }} | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: stalker-gamma+win.arm64 | |
| path: build/win/build/stalker-gamma-cli | |
| compression-level: 9 | |
| update-aur: | |
| name: update-aur | |
| runs-on: ubuntu-22.04 | |
| needs: [cli-ubuntu-arm64, cli-ubuntu-x64] | |
| if: github.ref_type == 'tag' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Generate PKGBUILD | |
| run: | | |
| PATH_TO_PKGBUILD="PKGBUILD" | |
| chmod +x "./build/update-pkgbuild.sh" | |
| ./build/update-pkgbuild.sh "${{ needs.cli-ubuntu-arm64.outputs.version }}" "${{ needs.cli-ubuntu-arm64.outputs.linux_arm64_sha256 }}" "${{ needs.cli-ubuntu-x64.outputs.linux_x64_sha256 }}" "$PATH_TO_PKGBUILD" | |
| - name: Publish AUR package | |
| uses: KSXGitHub/github-actions-deploy-aur@v4.1.2 | |
| with: | |
| pkgname: stalker-gamma-cli-bin | |
| pkgbuild: ./PKGBUILD | |
| commit_username: ${{ secrets.AUR_USERNAME }} | |
| commit_email: ${{ secrets.AUR_EMAIL }} | |
| ssh_private_key: ${{ secrets.AUR_SSH_KEY_PRIVATE }} | |
| commit_message: Update AUR package | |
| ssh_keyscan_types: ed25519 | |
| update-chocolatey: | |
| name: update-chocolatey | |
| runs-on: windows-latest | |
| needs: [cli-windows, cli-windows-arm64] | |
| if: github.ref_type == 'tag' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Create and Push Chocolatey Package | |
| if: github.ref_type == 'tag' | |
| run: build/win/chocolatey.bat ${{ needs.cli-windows.outputs.version }} ${{ secrets.CHOCOLATEY_API_KEY }} | |
| update-homebrew: | |
| name: update-homebrew | |
| runs-on: ubuntu-22.04 | |
| needs: [cli-macos-x64, cli-macos-arm64] | |
| if: github.ref_type == 'tag' | |
| steps: | |
| - name: Checkout source repo | |
| uses: actions/checkout@v6 | |
| - name: Checkout target repo | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: FaithBeam/homebrew-stalker-gamma | |
| token: ${{ secrets.HOMEBREW_REPO_TOKEN }} | |
| path: homebrew-stalker-gamma | |
| - name: Update Homebrew Cask | |
| run: | | |
| PATH_TO_CASK="homebrew-stalker-gamma/Casks/stalker-gamma.rb" | |
| chmod +x "./build/update-cask.sh" | |
| ./build/update-cask.sh "${{ needs.cli-macos-arm64.outputs.version }}" "${{ needs.cli-macos-arm64.outputs.macos_arm64_sha256 }}" "${{ needs.cli-macos-x64.outputs.macos_x64_sha256 }}" "$PATH_TO_CASK" | |
| git -C homebrew-stalker-gamma config user.name "github-actions[bot]" | |
| git -C homebrew-stalker-gamma config user.email "github-actions[bot]@users.noreply.github.com" | |
| git -C homebrew-stalker-gamma add . | |
| git -C homebrew-stalker-gamma commit -m "Update $PATH_TO_CASK" | |
| git -C homebrew-stalker-gamma push |