add aarch64

This commit is contained in:
lily 2025-08-23 09:39:06 +10:00
parent 917888a629
commit 2d7e6e492e

View file

@ -55,9 +55,60 @@ jobs:
name: agg-windows-amd64
path: bin/agg.exe
build_linux_aarch64:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install cross-compilation tools
run: |
sudo apt-get update
sudo apt-get install -y build-essential gcc-aarch64-linux-gnu
- name: Build project for Linux (aarch64)
run: make CC=aarch64-linux-gnu-gcc all
working-directory: ${{ github.workspace }}
- name: Upload Linux aarch64 artifact
uses: actions/upload-artifact@v4
with:
name: agg-linux-aarch64
path: bin/agg
build_windows_aarch64:
runs-on: ubuntu-latest # Cross-compile from Linux runner
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install cross-compilation tools for Windows (AArch64)
run: |
sudo apt-get update
sudo apt-get install -y build-essential gcc-aarch64-w64-mingw32
- name: Build project for Windows (AArch64)
run: make CC=aarch64-w64-mingw32-gcc all
working-directory: ${{ github.workspace }}
- name: Upload Windows aarch64 artifact
uses: actions/upload-artifact@v4
with:
name: agg-windows-aarch64
path: bin/agg.exe # Windows executables have .exe extension
create_release_and_upload_assets:
runs-on: ubuntu-latest
needs: [build_linux, build_windows] # Depends on both build jobs to complete
needs: [
build_linux,
build_windows,
build_linux_aarch64,
build_windows_aarch64,
] # Depends on all build jobs to complete
permissions:
contents: write # Grant write permissions to the GITHUB_TOKEN for creating releases
@ -125,6 +176,12 @@ jobs:
name: agg-windows-amd64
path: ./artifacts/windows/
- name: Download Linux aarch64 artifact
uses: actions/download-artifact@v4
with:
name: agg-linux-aarch64
path: ./artifacts/linux-aarch64/
- name: Upload Linux Release Asset
uses: actions/upload-release-asset@v1
env:
@ -135,6 +192,32 @@ jobs:
asset_name: agg-${{ env.NEW_TAG }}-linux-amd64
asset_content_type: application/octet-stream
- name: Upload Linux aarch64 Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./artifacts/linux-aarch64/agg
asset_name: agg-${{ env.NEW_TAG }}-linux-aarch64
asset_content_type: application/octet-stream
- name: Download Windows aarch64 artifact
uses: actions/download-artifact@v4
with:
name: agg-windows-aarch64
path: ./artifacts/windows-aarch64/
- name: Upload Windows aarch64 Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./artifacts/windows-aarch64/agg.exe
asset_name: agg-${{ env.NEW_TAG }}-windows-aarch64.exe
asset_content_type: application/octet-stream
- name: Upload Windows Release Asset
uses: actions/upload-release-asset@v1
env: