Add binaries for linux-aarch64 (#1484)
Some checks failed
Early Access / Default build (without GraalVM) (push) Has been cancelled
Early Access / Build with GraalVM on macos-latest-arm64 (push) Has been cancelled
Early Access / Build with GraalVM on ubuntu-latest-arm64 (push) Has been cancelled
Early Access / Build with GraalVM on macos-15-intel-x64 (push) Has been cancelled
Early Access / Build with GraalVM on ubuntu-latest-x64 (push) Has been cancelled
Early Access / Build with GraalVM on windows-latest-x64 (push) Has been cancelled
Early Access / Site build (push) Has been cancelled
Stale / stale (push) Has been cancelled

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
Co-authored-by: Per Abich <409466+flyhard@users.noreply.github.com>
Co-authored-by: Per Abich <per.abich@avanza.se>
This commit is contained in:
Guillaume Nodet
2025-11-25 22:31:02 +01:00
committed by GitHub
parent 42eea9e0d7
commit ea7c648707
4 changed files with 40 additions and 18 deletions

View File

@@ -74,13 +74,21 @@ jobs:
include-hidden-files: 'true' include-hidden-files: 'true'
native-build: native-build:
name: 'Build with GraalVM on ${{ matrix.os }}' name: 'Build with GraalVM on ${{ matrix.os }}-${{ matrix.arch }}'
if: startsWith(github.event.head_commit.message, '[release] Release ') != true if: startsWith(github.event.head_commit.message, '[release] Release ') != true
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
# binaries wanted: linux amd64, mac M1, mac intel, windows x86 # binaries wanted: linux amd64, mac M1, mac intel, windows x86
os: [ ubuntu-latest, macos-latest, macos-13, windows-latest ] os: [ ubuntu-latest, macos-latest, macos-15-intel, windows-latest ]
arch: [ x64, arm64 ]
exclude:
- os: macos-latest
arch: x64
- os: macos-15-intel
arch: arm64
- os: windows-latest
arch: arm64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
@@ -90,7 +98,7 @@ jobs:
- name: 'Set vars' - name: 'Set vars'
shell: bash shell: bash
run: | run: |
ARCH=$(echo '${{ runner.arch }}' | awk '{print tolower($0)}') ARCH=$(echo '${{ matrix.arch }}' | awk '{print tolower($0)}')
if [[ $ARCH == 'x64' ]] if [[ $ARCH == 'x64' ]]
then then
echo "ARCH=amd64" >> $GITHUB_ENV echo "ARCH=amd64" >> $GITHUB_ENV
@@ -172,14 +180,14 @@ jobs:
if: always() if: always()
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v5
with: with:
name: daemon-test-logs-${{ env.OS }}-${{ env.ARCH }} name: daemon-test-logs-${{ matrix.os }}-${{ env.ARCH }}
path: integration-tests/target/mvnd-tests/**/daemon*.log path: integration-tests/target/mvnd-tests/**/daemon*.log
include-hidden-files: 'true' include-hidden-files: 'true'
- name: 'Upload artifact' - name: 'Upload artifact'
uses: actions/upload-artifact@v5 uses: actions/upload-artifact@v5
with: with:
name: mvnd-${{ env.OS }}-${{ env.ARCH }} name: mvnd-${{ matrix.os }}-${{ env.ARCH }}
path: dist/target/maven-mvnd-*.zip path: dist/target/maven-mvnd-*.zip
site-build: site-build:

View File

@@ -30,12 +30,20 @@ env:
jobs: jobs:
build: build:
name: 'Build with GraalVM on ${{ matrix.os }}' name: 'Build with GraalVM on ${{ matrix.os }}-${{ matrix.arch }}'
strategy: strategy:
fail-fast: true fail-fast: true
matrix: matrix:
# binaries wanted: linux amd64, mac intel, mac M1, windows x86 # binaries wanted
os: [ ubuntu-latest, macos-13, macos-14, windows-latest ] os: [ ubuntu-latest, macos-latest, macos-15-intel, windows-latest ]
arch: [ x64, arm64 ]
exclude:
- os: macos-latest
arch: x64
- os: macos-15-intel
arch: arm64
- os: windows-latest
arch: arm64
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
@@ -45,7 +53,7 @@ jobs:
- name: 'Set vars' - name: 'Set vars'
shell: bash shell: bash
run: | run: |
ARCH=$(echo '${{ runner.arch }}' | awk '{print tolower($0)}') ARCH=$(echo '${{ matrix.arch }}' | awk '{print tolower($0)}')
if [[ $ARCH == 'x64' ]] if [[ $ARCH == 'x64' ]]
then then
echo "ARCH=amd64" >> $GITHUB_ENV echo "ARCH=amd64" >> $GITHUB_ENV
@@ -62,7 +70,7 @@ jobs:
else else
echo "OS=$OS" >> $GITHUB_ENV echo "OS=$OS" >> $GITHUB_ENV
fi fi
echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout --raw-streams)" >> $GITHUB_ENV
- name: 'Set up GraalVM' - name: 'Set up GraalVM'
uses: graalvm/setup-graalvm@v1 uses: graalvm/setup-graalvm@v1
@@ -193,7 +201,7 @@ jobs:
- name: Set environment - name: Set environment
run: | run: |
echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout | grep -v '^\[' | tail -1)" >> $GITHUB_ENV
- name: Create Release - name: Create Release
id: create_release id: create_release

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# #
# Copyright 2019 the original author or authors. # Copyright 2019-2025 the original author or authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -32,8 +32,10 @@ darwinAmdZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-$
darwinAmdSha256="$(curl -L --silent "${darwinAmdZipUrl}.sha256")" darwinAmdSha256="$(curl -L --silent "${darwinAmdZipUrl}.sha256")"
darwinArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-darwin-aarch64.zip" darwinArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-darwin-aarch64.zip"
darwinArmSha256="$(curl -L --silent "${darwinArmZipUrl}.sha256")" darwinArmSha256="$(curl -L --silent "${darwinArmZipUrl}.sha256")"
linuxZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-amd64.zip" linuxAmdZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-amd64.zip"
linuxSha256="$(curl -L --silent "${linuxZipUrl}.sha256")" linuxAmdSha256="$(curl -L --silent "${linuxAmdZipUrl}.sha256")"
linuxArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-aarch64.zip"
linuxArmSha256="$(curl -L --silent "${linuxArmZipUrl}.sha256")"
echo "Updating Formula/mvnd.rb with" echo "Updating Formula/mvnd.rb with"
echo "version: ${VERSION}" echo "version: ${VERSION}"
@@ -41,8 +43,10 @@ echo "darwin-amd-url: ${darwinAmdZipUrl}"
echo "darwin-amd-sha256: ${darwinAmdSha256}" echo "darwin-amd-sha256: ${darwinAmdSha256}"
echo "darwin-arm-url: ${darwinArmZipUrl}" echo "darwin-arm-url: ${darwinArmZipUrl}"
echo "darwin-arm-sha256: ${darwinArmSha256}" echo "darwin-arm-sha256: ${darwinArmSha256}"
echo "linux-url: ${linuxZipUrl}" echo "linux-url: ${linuxAmdZipUrl}"
echo "linux-sha256: ${linuxSha256}" echo "linux-sha256: ${linuxAmdSha256}"
echo "linux-arm-url: ${linuxArmZipUrl}"
echo "linux-arm-sha256: ${linuxArmSha256}"
rm -Rf homebrew-mvnd rm -Rf homebrew-mvnd
git clone https://github.com/mvndaemon/homebrew-mvnd.git git clone https://github.com/mvndaemon/homebrew-mvnd.git
@@ -50,7 +54,8 @@ cd homebrew-mvnd
perl -i -0pe 's|(on_macos do[\s\S\n]+on_intel do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinAmdZipUrl}'\"$3\"'${darwinAmdSha256}'\"|g' Formula/mvnd.rb perl -i -0pe 's|(on_macos do[\s\S\n]+on_intel do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinAmdZipUrl}'\"$3\"'${darwinAmdSha256}'\"|g' Formula/mvnd.rb
perl -i -0pe 's|(on_macos do[\s\S\n]+on_arm do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinArmZipUrl}'\"$3\"'${darwinArmSha256}'\"|g' Formula/mvnd.rb perl -i -0pe 's|(on_macos do[\s\S\n]+on_arm do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${darwinArmZipUrl}'\"$3\"'${darwinArmSha256}'\"|g' Formula/mvnd.rb
perl -i -0pe 's|(on_linux do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${linuxZipUrl}'\"$3\"'${linuxSha256}'\"|g' Formula/mvnd.rb perl -i -0pe 's|(on_linux do[\s\S\n]+on_intel do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${linuxAmdZipUrl}'\"$3\"'${linuxAmdSha256}'\"|g' Formula/mvnd.rb
perl -i -0pe 's|(on_linux do[\s\S\n]+on_arm do\n\s+url )\"([^\"]+)\"(\n\s+sha256 )\"([^\"]+)\"|$1\"'${linuxArmZipUrl}'\"$3\"'${linuxArmSha256}'\"|g' Formula/mvnd.rb
perl -i -0pe 's|(version )"([^\"]+)"|$1\"'${VERSION}'\"|g' Formula/mvnd.rb perl -i -0pe 's|(version )"([^\"]+)"|$1\"'${VERSION}'\"|g' Formula/mvnd.rb
if [ -n "$(git status --porcelain)" ]; then if [ -n "$(git status --porcelain)" ]; then
@@ -64,4 +69,4 @@ else
echo "Nothing to commit" echo "Nothing to commit"
fi fi
popd popd

View File

@@ -59,6 +59,7 @@ function publishRelease() {
} }
publishRelease ${VERSION} LINUX_64 linux-amd64 publishRelease ${VERSION} LINUX_64 linux-amd64
publishRelease ${VERSION} LINUX_ARM64 linux-aarch64
publishRelease ${VERSION} MAC_OSX darwin-amd64 publishRelease ${VERSION} MAC_OSX darwin-amd64
publishRelease ${VERSION} MAC_ARM64 darwin-aarch64 publishRelease ${VERSION} MAC_ARM64 darwin-aarch64
publishRelease ${VERSION} WINDOWS_64 windows-amd64 publishRelease ${VERSION} WINDOWS_64 windows-amd64