Release: add Linux aarch64 binary and DotSlash artifact
Uses cross-rs to build aarch64-unknown-linux-gnu from the macOS runner.
A separate dotslash job runs facebook/dotslash-publish-release to generate
the DotSlash file from the release artifacts.

Assisted-by: Claude Opus 4.6 via pi
change mtntuwsoqyszqrskrxlwyznrntlkvqnq
commit d007725da89a5c2ef353220a050cb5fcef9aa59d
author Alpha Chen <alpha@kejadlen.dev>
date
parent otprtrpy
diff --git a/.github/workflows/dotslash-config.json b/.github/workflows/dotslash-config.json
new file mode 100644
index 0000000..7ea6882
--- /dev/null
+++ b/.github/workflows/dotslash-config.json
@@ -0,0 +1,18 @@
+{
+  "outputs": {
+    "ranger": {
+      "platforms": {
+        "macos-aarch64": {
+          "regex": "^ranger-aarch64-apple-darwin",
+          "format": "tar.gz",
+          "path": "ranger"
+        },
+        "linux-aarch64": {
+          "regex": "^ranger-aarch64-unknown-linux-gnu",
+          "format": "tar.gz",
+          "path": "ranger"
+        }
+      }
+    }
+  }
+}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 53354a5..5c1306b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -29,20 +29,14 @@ jobs:
           echo "version=${CALVER}+${SHORT_SHA}" >> $GITHUB_OUTPUT
 
       - name: Build macOS
-        env:
-          RANGER_VERSION: ${{ steps.version.outputs.version }}
         run: |
           cargo build --release
           tar -czf ranger-aarch64-apple-darwin.tar.gz -C target/release ranger
 
-      - name: Build Linux (for Docker/OrbStack)
-        env:
-          RANGER_VERSION: ${{ steps.version.outputs.version }}
+      - name: Build Linux
         run: |
-          rustup target add aarch64-unknown-linux-gnu
-          brew install messense/macos-cross-toolchains/aarch64-unknown-linux-gnu
-          export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-unknown-linux-gnu-gcc
-          cargo build --release --target aarch64-unknown-linux-gnu
+          cargo install cross --git https://github.com/cross-rs/cross
+          cross build --release --target aarch64-unknown-linux-gnu
           tar -czf ranger-aarch64-unknown-linux-gnu.tar.gz -C target/aarch64-unknown-linux-gnu/release ranger
 
       - name: Publish
@@ -58,3 +52,15 @@ jobs:
             ranger-aarch64-unknown-linux-gnu.tar.gz
         env:
           GH_TOKEN: ${{ github.token }}
+
+  dotslash:
+    needs: build
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: facebook/dotslash-publish-release@v1
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        with:
+          config: .github/workflows/dotslash-config.json
+          tag: v${{ needs.build.outputs.version }}