Skip to content

Commit

Permalink
feat(ci): enable aarch64 build
Browse files Browse the repository at this point in the history
  • Loading branch information
uulm-janbaudisch committed Aug 14, 2024
1 parent e8635b6 commit b1be375
Show file tree
Hide file tree
Showing 6 changed files with 173 additions and 166 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:

jobs:
Check:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -22,7 +22,9 @@ jobs:
matrix:
target:
- double: x86_64-linux
runner: ubuntu-latest
runner: ubuntu-24.04
- double: aarch64-linux
runner: ubuntu-24.04
- double: x86_64-darwin
runner: macos-13
- double: aarch64-darwin
Expand All @@ -47,8 +49,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install QEMU
if: ${{ matrix.target.double == 'aarch64-linux' }}
run: sudo apt-get install -y qemu-user-static
- name: Nix
uses: DeterminateSystems/nix-installer-action@v10
with:
extra-conf: system = ${{ matrix.target.double }}
- name: Cache
uses: DeterminateSystems/magic-nix-cache-action@v4
- name: Build
Expand Down
58 changes: 29 additions & 29 deletions .github/workflows/Container.yaml
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
name: Container

on:
- push

env:
REGISTRY: ghcr.io
IMAGE_NAME: softvare-group/ddnnife
TAG: ${{ github.ref_name }}

jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: DeterminateSystems/nix-installer-action@v10
- name: Cache
uses: DeterminateSystems/magic-nix-cache-action@v4
- name: Build
run: nix build -L .#container
- name: Login
run: nix run nixpkgs#skopeo -- login $REGISTRY --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }}
- name: Push
run: nix run nixpkgs#skopeo -- copy docker-archive:result docker://$REGISTRY/$IMAGE_NAME:$TAG
- name: Push latest tag
if: ${{ github.ref_type == 'tag' }}
run: nix run nixpkgs#skopeo -- copy docker://$REGISTRY/$IMAGE_NAME:$TAG docker://$REGISTRY/$IMAGE_NAME:latest
#name: Container
#
#on:
# - push
#
#env:
# REGISTRY: ghcr.io
# IMAGE_NAME: softvare-group/ddnnife
# TAG: ${{ github.ref_name }}
#
#jobs:
# Build:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Nix
# uses: DeterminateSystems/nix-installer-action@v10
# - name: Cache
# uses: DeterminateSystems/magic-nix-cache-action@v4
# - name: Build
# run: nix build -L .#container
# - name: Login
# run: nix run nixpkgs#skopeo -- login $REGISTRY --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }}
# - name: Push
# run: nix run nixpkgs#skopeo -- copy docker-archive:result docker://$REGISTRY/$IMAGE_NAME:$TAG
# - name: Push latest tag
# if: ${{ github.ref_type == 'tag' }}
# run: nix run nixpkgs#skopeo -- copy docker://$REGISTRY/$IMAGE_NAME:$TAG docker://$REGISTRY/$IMAGE_NAME:latest
148 changes: 74 additions & 74 deletions .github/workflows/Kotlin.yaml
Original file line number Diff line number Diff line change
@@ -1,74 +1,74 @@
name: Kotlin

on:
- push

jobs:
Build:
strategy:
fail-fast: false
matrix:
target:
- double: x86_64-linux
jna: linux-x86-64
runner: ubuntu-24.04
docs: true
- double: x86_64-darwin
jna: darwin-x86-64
runner: macos-13
- double: aarch64-darwin
jna: darwin-aarch64
runner: macos-latest
variant:
- ''
- '-d4'
exclude:
- target: { double: x86_64-darwin }
variant: '-d4'
runs-on: ${{ matrix.target.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: DeterminateSystems/nix-installer-action@v10
- name: Cache
uses: DeterminateSystems/magic-nix-cache-action@v4
- name: Build (bindgen)
run: |
nix build -L .#bindgen
cp -L result/bin/uniffi-bindgen .
- name: Build (library)
run: |
nix build -L .#libddnnife${{ matrix.variant }}
mkdir -p libraries/${{ matrix.target.jna }}
cp -L result/lib/*ddnnife* libraries/${{ matrix.target.jna }}/
- name: Build
run: |
cd bindings/kotlin
gradle shadowJar --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
- name: Test
run: |
cd bindings/kotlin
gradle test --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ddnnife-kotlin-${{ matrix.target.double }}${{ matrix.variant }}
path: bindings/kotlin/build/libs
- name: Docs
if: ${{ matrix.target.docs && matrix.variant == '' }}
run: |
cd bindings/kotlin
gradle dokkaHtml --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
mkdir docs
mv build/dokka/html docs/kotlin
- name: Upload (docs)
if: ${{ matrix.target.docs && matrix.variant == '' }}
uses: actions/upload-artifact@v4
with:
name: pages-kotlin
path: bindings/kotlin/docs
Pages:
if: github.ref == 'refs/heads/main'
needs: Build
uses: ./.github/workflows/Pages.yaml
#name: Kotlin
#
#on:
# - push
#
#jobs:
# Build:
# strategy:
# fail-fast: false
# matrix:
# target:
# - double: x86_64-linux
# jna: linux-x86-64
# runner: ubuntu-24.04
# docs: true
# - double: x86_64-darwin
# jna: darwin-x86-64
# runner: macos-13
# - double: aarch64-darwin
# jna: darwin-aarch64
# runner: macos-latest
# variant:
# - ''
# - '-d4'
# exclude:
# - target: { double: x86_64-darwin }
# variant: '-d4'
# runs-on: ${{ matrix.target.runner }}
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Nix
# uses: DeterminateSystems/nix-installer-action@v10
# - name: Cache
# uses: DeterminateSystems/magic-nix-cache-action@v4
# - name: Build (bindgen)
# run: |
# nix build -L .#bindgen
# cp -L result/bin/uniffi-bindgen .
# - name: Build (library)
# run: |
# nix build -L .#libddnnife${{ matrix.variant }}
# mkdir -p libraries/${{ matrix.target.jna }}
# cp -L result/lib/*ddnnife* libraries/${{ matrix.target.jna }}/
# - name: Build
# run: |
# cd bindings/kotlin
# gradle shadowJar --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
# - name: Test
# run: |
# cd bindings/kotlin
# gradle test --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
# - name: Upload
# uses: actions/upload-artifact@v4
# with:
# name: ddnnife-kotlin-${{ matrix.target.double }}${{ matrix.variant }}
# path: bindings/kotlin/build/libs
# - name: Docs
# if: ${{ matrix.target.docs && matrix.variant == '' }}
# run: |
# cd bindings/kotlin
# gradle dokkaHtml --no-daemon -Plibraries=../../libraries -Pbindgen=../../uniffi-bindgen
# mkdir docs
# mv build/dokka/html docs/kotlin
# - name: Upload (docs)
# if: ${{ matrix.target.docs && matrix.variant == '' }}
# uses: actions/upload-artifact@v4
# with:
# name: pages-kotlin
# path: bindings/kotlin/docs
# Pages:
# if: github.ref == 'refs/heads/main'
# needs: Build
# uses: ./.github/workflows/Pages.yaml
2 changes: 1 addition & 1 deletion .github/workflows/Pages.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Pages
#name: Pages

on: workflow_call

Expand Down
56 changes: 28 additions & 28 deletions .github/workflows/Portable.yaml
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
name: Portable

on:
- push

jobs:
Build:
strategy:
fail-fast: false
matrix:
target:
- double: x86_64-linux
runner: ubuntu-latest
runs-on: ${{ matrix.target.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: DeterminateSystems/nix-installer-action@v10
- name: Cache
uses: DeterminateSystems/magic-nix-cache-action@v4
- name: Bundle
run: nix bundle --bundler github:DavHau/nix-portable -o bundle .#ddnnife-d4
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ddnnife-${{ matrix.target.double }}-d4-portable
path: bundle
#name: Portable
#
#on:
# - push
#
#jobs:
# Build:
# strategy:
# fail-fast: false
# matrix:
# target:
# - double: x86_64-linux
# runner: ubuntu-latest
# runs-on: ${{ matrix.target.runner }}
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Nix
# uses: DeterminateSystems/nix-installer-action@v10
# - name: Cache
# uses: DeterminateSystems/magic-nix-cache-action@v4
# - name: Bundle
# run: nix bundle --bundler github:DavHau/nix-portable -o bundle .#ddnnife-d4
# - name: Upload
# uses: actions/upload-artifact@v4
# with:
# name: ddnnife-${{ matrix.target.double }}-d4-portable
# path: bundle
64 changes: 32 additions & 32 deletions .github/workflows/Python.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
name: Python

on:
- push

jobs:
Build:
strategy:
fail-fast: false
matrix:
target:
- double: x86_64-linux
runner: ubuntu-latest
- double: x86_64-darwin
runner: macos-13
- double: aarch64-darwin
runner: macos-latest
runs-on: ${{ matrix.target.runner }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Nix
uses: DeterminateSystems/nix-installer-action@v10
- name: Cache
uses: DeterminateSystems/magic-nix-cache-action@v4
- name: Build
run: nix build -L .#python
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ddnnife-python-${{ matrix.target.double }}
path: result
#name: Python
#
#on:
# - push
#
#jobs:
# Build:
# strategy:
# fail-fast: false
# matrix:
# target:
# - double: x86_64-linux
# runner: ubuntu-latest
# - double: x86_64-darwin
# runner: macos-13
# - double: aarch64-darwin
# runner: macos-latest
# runs-on: ${{ matrix.target.runner }}
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Nix
# uses: DeterminateSystems/nix-installer-action@v10
# - name: Cache
# uses: DeterminateSystems/magic-nix-cache-action@v4
# - name: Build
# run: nix build -L .#python
# - name: Upload
# uses: actions/upload-artifact@v4
# with:
# name: ddnnife-python-${{ matrix.target.double }}
# path: result

0 comments on commit b1be375

Please sign in to comment.