summaryrefslogtreecommitdiff
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml55
1 files changed, 54 insertions, 1 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ca9aae0..42d4241 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -24,6 +24,10 @@ jobs:
os: macos-15-intel
artifact_name: makima
asset_name: makima-${{ github.ref_name }}-macos-x86_64
+ - target: aarch64-unknown-linux-gnu
+ os: ubuntu-latest
+ artifact_name: makima
+ asset_name: makima-${{ github.ref_name }}-linux-arm64
- target: aarch64-apple-darwin
os: macos-14
artifact_name: makima
@@ -44,6 +48,13 @@ jobs:
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev
+ - name: Install cross-compilation tools (Linux ARM64)
+ if: matrix.target == 'aarch64-unknown-linux-gnu'
+ run: |
+ sudo apt-get install -y gcc-aarch64-linux-gnu
+ echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
+ echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu" >> $GITHUB_ENV
+
- name: Build release binary
working-directory: makima
run: cargo build --release --target ${{ matrix.target }}
@@ -65,9 +76,41 @@ jobs:
name: ${{ matrix.asset_name }}
path: ${{ matrix.asset_name }}.tar.gz
+ embed-daemon-binaries:
+ name: Package Daemon Binaries
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Download Linux x86_64 artifact
+ uses: actions/download-artifact@v4
+ with:
+ name: makima-${{ github.ref_name }}-linux-x86_64
+ path: daemon-binaries
+
+ - name: Download Linux ARM64 artifact
+ uses: actions/download-artifact@v4
+ with:
+ name: makima-${{ github.ref_name }}-linux-arm64
+ path: daemon-binaries
+
+ - name: Extract and repackage daemon binaries
+ run: |
+ mkdir -p daemon-extracted/linux-x86_64 daemon-extracted/linux-arm64
+
+ tar xzf daemon-binaries/makima-${{ github.ref_name }}-linux-x86_64.tar.gz -C daemon-extracted/linux-x86_64
+ tar xzf daemon-binaries/makima-${{ github.ref_name }}-linux-arm64.tar.gz -C daemon-extracted/linux-arm64
+
+ tar czvf daemon-binaries.tar.gz -C daemon-extracted .
+
+ - name: Upload daemon binaries archive
+ uses: actions/upload-artifact@v4
+ with:
+ name: daemon-binaries
+ path: daemon-binaries.tar.gz
+
release:
name: Create Release
- needs: build
+ needs: [build, embed-daemon-binaries]
runs-on: ubuntu-latest
permissions:
contents: write
@@ -111,6 +154,11 @@ jobs:
tar xzf makima-${{ github.ref_name }}-linux-x86_64.tar.gz
sudo mv makima /usr/local/bin/
+ # Linux ARM64
+ curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-linux-arm64.tar.gz
+ tar xzf makima-${{ github.ref_name }}-linux-arm64.tar.gz
+ sudo mv makima /usr/local/bin/
+
# macOS Intel
curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-x86_64.tar.gz
tar xzf makima-${{ github.ref_name }}-macos-x86_64.tar.gz
@@ -158,6 +206,11 @@ jobs:
tar xzf makima-${{ github.ref_name }}-linux-x86_64.tar.gz
sudo mv makima /usr/local/bin/
+ # Linux ARM64
+ curl -LO https://github.com/soryu-co/makima/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-linux-arm64.tar.gz
+ tar xzf makima-${{ github.ref_name }}-linux-arm64.tar.gz
+ sudo mv makima /usr/local/bin/
+
# macOS Intel
curl -LO https://github.com/soryu-co/makima/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-x86_64.tar.gz
tar xzf makima-${{ github.ref_name }}-macos-x86_64.tar.gz