This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch mvnd-1.x
in repository https://gitbox.apache.org/repos/asf/maven-mvnd.git
The following commit(s) were added to refs/heads/mvnd-1.x by this push:
new 359cfeff Release binaries: linux amd64, macos amd64, macos aarch64,
windows amd64 (#1016)
359cfeff is described below
commit 359cfeff1099f9a36e32f06a18ab0f8f108187ca
Author: Tamas Cservenak <[email protected]>
AuthorDate: Thu Jun 13 17:05:00 2024 +0200
Release binaries: linux amd64, macos amd64, macos aarch64, windows amd64
(#1016)
GH Action and related changes to finally cover all targeted OS/platforms
with native binary.
Changes:
* no source change
* POM change: using released Maven 3.9.8 (and added access to staged Maven
3.9.8)
* Provide 4 plaf binaries: linux amd64, windows amd64, mac amd64 and mac
aarch64
* adopt GH workflows for these changes (using "OS" alone is not enough)
* adopt generally GraalVM naming and use them consecutively
---
.github/workflows/early-access.yaml | 31 ++++++++++++-----
.github/workflows/release.yaml | 67 ++++++++++++++++++++++++++++++++-----
.mvn/release-settings.xml | 2 +-
pom.xml | 2 +-
4 files changed, 83 insertions(+), 19 deletions(-)
diff --git a/.github/workflows/early-access.yaml
b/.github/workflows/early-access.yaml
index 3c2f5962..c5bd6695 100644
--- a/.github/workflows/early-access.yaml
+++ b/.github/workflows/early-access.yaml
@@ -31,7 +31,7 @@ jobs:
default-build:
name: 'Default build (without Graal)'
if: startsWith(github.event.head_commit.message, '[release] Release ') !=
true
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: 'Checkout'
uses: actions/checkout@v4
@@ -42,7 +42,7 @@ jobs:
distribution: 'temurin'
- name: 'Run default (non-native) build'
- run: ./mvnw verify -Dmrm=false -V -B -ntp -e
+ run: ./mvnw verify -Dmrm=false -V -B -ntp -e -s
.mvn/release-settings.xml
- name: 'Upload daemon test logs'
if: always()
@@ -57,7 +57,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: [ ubuntu-latest, macos-latest, windows-latest ]
+ # binaries wanted: linux amd64, mac intel, mac M1, windows x86
+ os: [ ubuntu-latest, macos-13, macos-14, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
@@ -67,9 +68,23 @@ jobs:
- name: 'Set vars'
shell: bash
run: |
+ ARCH=$(echo '${{ runner.arch }}' | awk '{print tolower($0)}')
+ if [[ $ARCH == 'x64' ]]
+ then
+ echo "ARCH=amd64" >> $GITHUB_ENV
+ elif [[ $ARCH == 'arm64' ]]
+ then
+ echo "ARCH=aarch64" >> $GITHUB_ENV
+ else
+ echo "ARCH=$ARCH" >> $GITHUB_ENV
+ fi
OS=$(echo '${{ runner.os }}' | awk '{print tolower($0)}')
- [[ $OS == 'ubuntu' ]] && echo "OS=linux" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
- [[ $OS == 'macos' ]] && echo "OS=darwin" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
+ if [[ $OS == 'macos' ]]
+ then
+ echo "OS=darwin" >> $GITHUB_ENV
+ else
+ echo "OS=$OS" >> $GITHUB_ENV
+ fi
echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q
-DforceStdout)" >> $GITHUB_ENV
- name: 'Set up Graal'
@@ -105,7 +120,7 @@ jobs:
objcopy --redefine-syms=client/src/main/resources/glibc/glibc.redef
client/target/graalvm-libs-for-glibc-2.12/Scrt1.o 2>/dev/null
- name: 'Build native distribution'
- run: ./mvnw verify -Pnative -Dmrm=false -V -B -ntp -e
+ run: ./mvnw verify -Pnative -Dmrm=false -V -B -ntp -e -s
.mvn/release-settings.xml
- name: 'Verify native binary for only requiring glibc 2.12'
if: ${{ env.OS == 'linux' }}
@@ -120,11 +135,11 @@ jobs:
if: always()
uses: actions/upload-artifact@v4
with:
- name: daemon-test-logs-${{ env.OS }}
+ name: daemon-test-logs-${{ env.OS }}-${{ env.ARCH }}
path: integration-tests/target/mvnd-tests/**/daemon*.log
- name: 'Upload artifact'
uses: actions/upload-artifact@v4
with:
- name: mvnd-${{ env.OS }}
+ name: mvnd-${{ env.OS }}-${{ env.ARCH }}
path: dist/target/maven-mvnd-*.zip
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index 3ea1fe7d..0e64bbf4 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -34,7 +34,8 @@ jobs:
strategy:
fail-fast: true
matrix:
- os: [ ubuntu-latest, macos-latest, windows-latest ]
+ # binaries wanted: linux amd64, mac intel, mac M1, windows x86
+ os: [ ubuntu-latest, macos-13, macos-14, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
@@ -44,9 +45,23 @@ jobs:
- name: 'Set vars'
shell: bash
run: |
+ ARCH=$(echo '${{ runner.arch }}' | awk '{print tolower($0)}')
+ if [[ $ARCH == 'x64' ]]
+ then
+ echo "ARCH=amd64" >> $GITHUB_ENV
+ elif [[ $ARCH == 'arm64' ]]
+ then
+ echo "ARCH=aarch64" >> $GITHUB_ENV
+ else
+ echo "ARCH=$ARCH" >> $GITHUB_ENV
+ fi
OS=$(echo '${{ runner.os }}' | awk '{print tolower($0)}')
- [[ $OS == 'ubuntu' ]] && echo "OS=linux" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
- [[ $OS == 'macos' ]] && echo "OS=darwin" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
+ if [[ $OS == 'macos' ]]
+ then
+ echo "OS=darwin" >> $GITHUB_ENV
+ else
+ echo "OS=$OS" >> $GITHUB_ENV
+ fi
echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q
-DforceStdout)" >> $GITHUB_ENV
- name: 'Set up Graal'
@@ -103,7 +118,7 @@ jobs:
source:
name: 'Build source distributions'
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
steps:
- name: 'Check out repository'
uses: actions/checkout@v4
@@ -111,9 +126,23 @@ jobs:
- name: 'Set vars'
shell: bash
run: |
+ ARCH=$(echo '${{ runner.arch }}' | awk '{print tolower($0)}')
+ if [[ $ARCH == 'x64' ]]
+ then
+ echo "ARCH=amd64" >> $GITHUB_ENV
+ elif [[ $ARCH == 'arm64' ]]
+ then
+ echo "ARCH=aarch64" >> $GITHUB_ENV
+ else
+ echo "ARCH=$ARCH" >> $GITHUB_ENV
+ fi
OS=$(echo '${{ runner.os }}' | awk '{print tolower($0)}')
- [[ $OS == 'ubuntu' ]] && echo "OS=linux" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
- [[ $OS == 'macos' ]] && echo "OS=darwin" >> $GITHUB_ENV || echo
"OS=$OS" >> $GITHUB_ENV
+ if [[ $OS == 'macos' ]]
+ then
+ echo "OS=darwin" >> $GITHUB_ENV
+ else
+ echo "OS=$OS" >> $GITHUB_ENV
+ fi
echo "VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q
-DforceStdout)" >> $GITHUB_ENV
- name: 'Set up Graal'
@@ -136,7 +165,7 @@ jobs:
target/maven-mvnd-*.tar.gz
release:
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-latest
needs: [build, source]
steps:
@@ -158,8 +187,8 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.m2
- key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-m2
+ key: ${{ runner.os }}-${{ runner.arch }}-m2-${{
hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-${{ runner.arch }}-m2
- name: ls -R
run: ls -R
@@ -239,6 +268,26 @@ jobs:
asset_name: maven-mvnd-${{ env.VERSION }}-darwin-amd64.tar.gz
asset_content_type: application/x-gzip
+ - name: Deploy maven-mvnd-darwin-aarch64.zip
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION
}}-darwin-aarch64.zip
+ asset_name: maven-mvnd-${{ env.VERSION }}-darwin-aarch64.zip
+ asset_content_type: application/zip
+
+ - name: Deploy maven-mvnd-darwin-aarch.tar.gz
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: artifacts/dist/target/maven-mvnd-${{ env.VERSION
}}-darwin-aarch64.tar.gz
+ asset_name: maven-mvnd-${{ env.VERSION }}-darwin-aarch64.tar.gz
+ asset_content_type: application/x-gzip
+
- name: Deploy maven-mvnd-windows-amd64.zip
uses: actions/upload-release-asset@v1
env:
diff --git a/.mvn/release-settings.xml b/.mvn/release-settings.xml
index 791682b2..182d3b86 100644
--- a/.mvn/release-settings.xml
+++ b/.mvn/release-settings.xml
@@ -7,7 +7,7 @@
<repositories>
<repository>
<id>maven-staging-1</id>
-
<url>https://repository.apache.org/content/repositories/maven-1859/</url>
+
<url>https://repository.apache.org/content/repositories/maven-2146/</url>
<releases>
<enabled>true</enabled>
</releases>
diff --git a/pom.xml b/pom.xml
index 84fa611c..6650533a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,7 @@
<jakarta.inject.version>1.0</jakarta.inject.version>
<jansi.version>2.4.1</jansi.version>
<jline.version>3.26.1</jline.version>
- <maven.version>3.9.8-20240612.175612-19</maven.version>
+ <maven.version>3.9.8</maven.version>
<!-- Keep in sync with Maven -->
<maven.resolver.version>1.9.20</maven.resolver.version>
<slf4j.version>1.7.36</slf4j.version>