From 0850a261cb54725401120bdf297bb38a4330d401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Domeradzki?= Date: Wed, 10 Nov 2021 20:36:09 +0100 Subject: [PATCH] Add osx-arm64 ASF variant (#2451) --- .github/workflows/publish.yml | 27 +++++++++++++++++++++++++-- ArchiSteamFarm/SharedInfo.cs | 3 +++ Directory.Build.props | 2 +- cc.sh | 1 + 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 73a4c6704..57088a809 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -119,7 +119,7 @@ jobs: - name: Publish ArchiSteamFarm on Unix if: startsWith(matrix.os, 'macos-') || startsWith(matrix.os, 'ubuntu-') env: - VARIANTS: generic linux-arm linux-arm64 linux-x64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs! + VARIANTS: generic linux-arm linux-arm64 linux-x64 osx-arm64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs! shell: sh run: | set -eu @@ -220,7 +220,7 @@ jobs: - name: Publish ArchiSteamFarm on Windows if: startsWith(matrix.os, 'windows-') env: - VARIANTS: generic generic-netf linux-arm linux-arm64 linux-x64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs! + VARIANTS: generic generic-netf linux-arm linux-arm64 linux-x64 osx-arm64 osx-x64 win-x64 # NOTE: When modifying variants, don't forget to update ASF_VARIANT definitions in SharedInfo.cs! shell: pwsh run: | Set-StrictMode -Version Latest @@ -365,6 +365,13 @@ jobs: name: ${{ matrix.os }}_ASF-linux-x64 path: out/ASF-linux-x64.zip + - name: Upload ASF-osx-arm64 + continue-on-error: true + uses: actions/upload-artifact@v2.2.4 + with: + name: ${{ matrix.os }}_ASF-osx-arm64 + path: out/ASF-osx-arm64.zip + - name: Upload ASF-osx-x64 continue-on-error: true uses: actions/upload-artifact@v2.2.4 @@ -421,6 +428,12 @@ jobs: name: windows-latest_ASF-linux-x64 path: out + - name: Download ASF-osx-arm64 artifact from windows-latest + uses: actions/download-artifact@v2.0.10 + with: + name: windows-latest_ASF-osx-arm64 + path: out + - name: Download ASF-osx-x64 artifact from windows-latest uses: actions/download-artifact@v2.0.10 with: @@ -525,6 +538,16 @@ jobs: asset_name: ASF-linux-x64.zip asset_content_type: application/zip + - name: Upload ASF-osx-arm64 to GitHub release + uses: actions/upload-release-asset@v1.0.2 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.github_release.outputs.upload_url }} + asset_path: out/ASF-osx-arm64.zip + asset_name: ASF-osx-arm64.zip + asset_content_type: application/zip + - name: Upload ASF-osx-x64 to GitHub release uses: actions/upload-release-asset@v1.0.2 env: diff --git a/ArchiSteamFarm/SharedInfo.cs b/ArchiSteamFarm/SharedInfo.cs index 57a17114a..db3e3b6c6 100644 --- a/ArchiSteamFarm/SharedInfo.cs +++ b/ArchiSteamFarm/SharedInfo.cs @@ -113,6 +113,9 @@ namespace ArchiSteamFarm { #elif ASF_VARIANT_LINUX_X64 internal static bool CanUpdate => true; internal static string Variant => "linux-x64"; +#elif ASF_VARIANT_OSX_ARM64 + internal static bool CanUpdate => true; + internal static string Variant => "osx-arm64"; #elif ASF_VARIANT_OSX_X64 internal static bool CanUpdate => true; internal static string Variant => "osx-x64"; diff --git a/Directory.Build.props b/Directory.Build.props index a81203764..71f6e8780 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -27,7 +27,7 @@ Git $(PackageProjectUrl).git LatestMajor - linux-arm;linux-arm64;linux-x64;osx-x64;win-x64 + linux-arm;linux-arm64;linux-x64;osx-arm64;osx-x64;win-x64 true diff --git a/cc.sh b/cc.sh index 6efea7dac..6e136397a 100755 --- a/cc.sh +++ b/cc.sh @@ -87,6 +87,7 @@ cpu_architecture="$(uname -m)" case "$cpu_architecture" in "aarch64") cpu_architecture="arm64" ;; "amd64") cpu_architecture="x64" ;; + "arm64") ;; "armv7l") cpu_architecture="arm" ;; "x86_64") cpu_architecture="x64" ;; *) echo "ERROR: Unknown CPU architecture: ${cpu_architecture}. If you believe that our script should work on your machine, please let us know."; exit 1