diff --git a/.github/workflows/early-access.yaml b/.github/workflows/early-access.yaml index 25c60c65d..93e65aabf 100644 --- a/.github/workflows/early-access.yaml +++ b/.github/workflows/early-access.yaml @@ -74,13 +74,19 @@ jobs: include-hidden-files: 'true' 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 strategy: fail-fast: false matrix: # binaries wanted: linux amd64, mac M1, mac intel, windows x86 - os: [ ubuntu-latest, macos-latest, macos-13, windows-latest ] + os: [ ubuntu-latest, macos-13, macos-14, windows-latest ] + arch: [ x64, arm64 ] + exclude: + - os: macos-13 + arch: arm64 + - os: windows-latest + arch: arm64 runs-on: ${{ matrix.os }} steps: @@ -172,14 +178,14 @@ jobs: if: always() uses: actions/upload-artifact@v4 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 include-hidden-files: 'true' - name: 'Upload artifact' uses: actions/upload-artifact@v4 with: - name: mvnd-${{ env.OS }}-${{ env.ARCH }} + name: mvnd-${{ matrix.os }}-${{ env.ARCH }} path: dist/target/maven-mvnd-*.zip site-build: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 9fdeed5c2..bae97452c 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -30,12 +30,18 @@ env: jobs: build: - name: 'Build with GraalVM on ${{ matrix.os }}' + name: 'Build with GraalVM on ${{ matrix.os }}-${{ matrix.arch }}' strategy: fail-fast: true matrix: # binaries wanted: linux amd64, mac intel, mac M1, windows x86 - os: [ ubuntu-latest, macos-13, macos-14, windows-latest ] + os: [ ubuntu-latest, macos-latest, macos-13, windows-latest ] + arch: [ x64, arm64 ] + exclude: + - os: [ macos-13 ] + arch: arm64 + - os: windows-latest + arch: arm64 runs-on: ${{ matrix.os }} steps: diff --git a/build/publish-on-homebrew.sh b/build/publish-on-homebrew.sh index 154cee060..a69e9ba2e 100755 --- a/build/publish-on-homebrew.sh +++ b/build/publish-on-homebrew.sh @@ -1,6 +1,6 @@ #!/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"); # 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")" darwinArmZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-darwin-aarch64.zip" darwinArmSha256="$(curl -L --silent "${darwinArmZipUrl}.sha256")" -linuxZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-amd64.zip" -linuxSha256="$(curl -L --silent "${linuxZipUrl}.sha256")" +linuxAmdZipUrl="https://downloads.apache.org/maven/mvnd/${VERSION}/maven-mvnd-${VERSION}-linux-amd64.zip" +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 "version: ${VERSION}" @@ -41,8 +43,10 @@ echo "darwin-amd-url: ${darwinAmdZipUrl}" echo "darwin-amd-sha256: ${darwinAmdSha256}" echo "darwin-arm-url: ${darwinArmZipUrl}" echo "darwin-arm-sha256: ${darwinArmSha256}" -echo "linux-url: ${linuxZipUrl}" -echo "linux-sha256: ${linuxSha256}" +echo "linux-url: ${linuxAmdZipUrl}" +echo "linux-sha256: ${linuxAmdSha256}" +echo "linux-arm-url: ${linuxArmZipUrl}" +echo "linux-arm-sha256: ${linuxArmSha256}" rm -Rf homebrew-mvnd 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_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 if [ -n "$(git status --porcelain)" ]; then @@ -64,4 +69,4 @@ else echo "Nothing to commit" fi -popd \ No newline at end of file +popd diff --git a/build/publish-on-sdkman.sh b/build/publish-on-sdkman.sh index 32292fa07..271a9f45a 100755 --- a/build/publish-on-sdkman.sh +++ b/build/publish-on-sdkman.sh @@ -59,6 +59,7 @@ function publishRelease() { } publishRelease ${VERSION} LINUX_64 linux-amd64 +publishRelease ${VERSION} LINUX_ARM64 linux-aarch64 publishRelease ${VERSION} MAC_OSX darwin-amd64 publishRelease ${VERSION} MAC_ARM64 darwin-aarch64 publishRelease ${VERSION} WINDOWS_64 windows-amd64