aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authormsladecek <martin.sladecek@gmail.com>2025-06-22 09:44:31 +0200
committermsladecek <martin.sladecek@gmail.com>2025-06-22 10:19:05 +0200
commit066c8643d6b3eedf964b686c9b820edf6d6620f1 (patch)
treea0ab71b1a5a7d0d4276f7f3f6407caec72d3a031 /.github/workflows
parent02658e0ea297f5f906acd2b887def53deac3698e (diff)
add linux arm64 build
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/nightly.yml46
1 files changed, 43 insertions, 3 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index ab29a68..60de60f 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -94,7 +94,39 @@ jobs:
with:
name: dist-x86_64-unknown-linux-gnu
path: ./dist
-
+
+ dist-arm64-unknown-linux-gnu:
+ timeout-minutes: 30
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - name: Download LLVM
+ run: |
+ wget https://apt.llvm.org/llvm.sh
+ chmod +x llvm.sh
+ sudo ./llvm.sh 17
+ echo "/usr/lib/llvm-17/bin" >> $GITHUB_PATH
+ - name: Download Odin
+ run: |
+ git clone https://github.com/odin-lang/Odin
+ - name: Build Odin
+ run: |
+ cd Odin
+ ./build_odin.sh release
+ - name: Install ARM64 cross-compilation toolchain (for linker)
+ run: sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
+ - name: Build ols
+ run: ./ci.sh CI_NO_TESTS -target:linux_arm64 -linker:lld -microarch:generic -extra-linker-flags:'--target=aarch64-linux-gnu'
+ - name: Move to Dist
+ run: |
+ mkdir dist
+ mv ols dist/ols-arm64-unknown-linux-gnu
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: dist-arm64-unknown-linux-gnu
+ path: ./dist
+
dist-x86_64-pc-windows-msvc:
timeout-minutes: 30
runs-on: windows-latest
@@ -130,7 +162,7 @@ jobs:
name: publish
runs-on: ubuntu-latest
timeout-minutes: 30
- needs: ['dist-x86_64-pc-windows-msvc', 'dist-x86_64-unknown-linux-gnu', 'dist-x86_64-darwin', 'dist-arm64-darwin']
+ needs: ['dist-x86_64-pc-windows-msvc', 'dist-x86_64-unknown-linux-gnu', 'dist-arm64-unknown-linux-gnu', 'dist-x86_64-darwin', 'dist-arm64-darwin']
steps:
- name: Install Nodejs
uses: actions/setup-node@v1
@@ -143,13 +175,17 @@ jobs:
- run: echo "HEAD_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
- run: 'echo "HEAD_SHA: $HEAD_SHA"'
-
+
- uses: actions/download-artifact@v4.1.7
with:
name: dist-x86_64-unknown-linux-gnu
path: dist
- uses: actions/download-artifact@v4.1.7
with:
+ name: dist-arm64-unknown-linux-gnu
+ path: dist
+ - uses: actions/download-artifact@v4.1.7
+ with:
name: dist-x86_64-pc-windows-msvc
path: dist
- uses: actions/download-artifact@v4.1.7
@@ -170,6 +206,10 @@ jobs:
zip -r ols-x86_64-unknown-linux-gnu.zip ols-x86_64-unknown-linux-gnu builtin
rm ols-x86_64-unknown-linux-gnu
+ chmod +x ols-arm64-unknown-linux-gnu
+ zip -r ols-arm64-unknown-linux-gnu.zip ols-arm64-unknown-linux-gnu builtin
+ rm ols-arm64-unknown-linux-gnu
+
chmod +x ols-x86_64-darwin
zip -r ols-x86_64-darwin.zip ols-x86_64-darwin builtin
rm ols-x86_64-darwin