Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to build libddwaf on arm64 runner #270

Merged
merged 2 commits into from
Mar 4, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 44 additions & 17 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,17 +206,12 @@ jobs:
/tmp/packages/*.tar.gz
/tmp/packages/*.sha256

linux-musl-build:
linux-musl-build-amd64:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- name: aarch64
arch: aarch64
qemu_action_arch: arm64
platform: linux/arm64
package: libddwaf-aarch64-linux-musl
- name: x86_64
arch: x86_64
qemu_action_arch: amd64
Expand All @@ -227,11 +222,6 @@ jobs:
qemu_action_arch: i386
platform: linux/386
package: libddwaf-i386-linux-musl
- name: armv7
arch: armv7
qemu_action_arch: arm
platform: linux/arm/v7
package: libddwaf-armv7-linux-musl
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -240,10 +230,6 @@ jobs:
id: buildx
with:
install: true
- uses: docker/setup-qemu-action@v3
if: matrix.target.qemu_action_arch == 'arm64'
with:
platforms: ${{ matrix.target.qemu_action_arch }}
- run: docker build --progress=plain --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/build/Dockerfile -o packages .
- name: Smoketest musl (gcc)
run: docker build --progress=plain --platform ${{ matrix.target.platform }} --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/smoketest/musl/Dockerfile .
Expand All @@ -264,8 +250,49 @@ jobs:
packages/*.tar.gz
packages/*.sha256

linux-musl-build-arm64:
runs-on: arm-4core-linux
strategy:
fail-fast: false
matrix:
target:
- name: aarch64
arch: aarch64
qemu_action_arch: arm64
platform: linux/arm64
package: libddwaf-aarch64-linux-musl
- name: armv7
arch: armv7
qemu_action_arch: arm
platform: linux/arm/v7
package: libddwaf-armv7-linux-musl
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install docker
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- run: sudo docker build --progress=plain --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/build/Dockerfile -o packages .
- name: Smoketest musl (gcc)
run: sudo docker build --progress=plain --platform ${{ matrix.target.platform }} --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/smoketest/musl/Dockerfile .
- name: Smoketest musl (clang)
run: sudo docker build --progress=plain --platform ${{ matrix.target.platform }} --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/smoketest/musl_llvm/Dockerfile .
- name: Smoketest gnu (gcc)
run: sudo docker build --progress=plain --platform ${{ matrix.target.platform }} --build-arg "ARCH=${{ matrix.target.arch }}" -f docker/libddwaf/smoketest/gnu/Dockerfile .
- name: Generate Package sha256
working-directory: packages
run: for file in *.tar.gz; do sha256sum "$file" > "$file.sha256"; done
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target.package }}
path: |
packages/*.tar.gz
packages/*.sha256

package-nuget:
needs: [ windows-builds, macos-universal-package, linux-musl-build]
needs: [ windows-builds, macos-universal-package, linux-musl-build-amd64, linux-musl-build-arm64]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -321,7 +348,7 @@ jobs:
path: ${{ github.workspace }}/output-packages

release:
needs: [ windows-builds, macos-build, macos-cross-build, docker-builds, linux-musl-build, package-nuget]
needs: [ windows-builds, macos-build, macos-cross-build, docker-builds, linux-musl-build-amd64, linux-musl-build-arm64, package-nuget]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
Expand Down