add Java 24 #36
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Java | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: macos-latest | |
name: Java ${{ matrix.java }} | |
strategy: | |
matrix: | |
java: | |
# when you remove the lowest version be sure to edit "release" job's too, and pom.xml | |
- '17' # EOL: 2026-09 | |
- '21' # EOL: 2028-09 | |
- '23' # EOL: 2030-09 | |
- '24' # EOL: 2025-09 | |
#- '25' # REL: 2025-09 EOL: 2032-09 | |
# see supported java release schedule at https://www.oracle.com/java/technologies/java-se-support-roadmap.html | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: getargv/getargv | |
path: getargv | |
token: ${{ secrets.GH_PAT }} | |
- name: Build libgetargv | |
run: make dylib | |
working-directory: getargv | |
- name: Install libgetargv | |
run: sudo make install_dylib | |
working-directory: getargv | |
- uses: actions/checkout@v4 | |
with: | |
path: getargv.java | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: maven | |
check-latest: true | |
- name: Build with Maven | |
run: mvn -B package --file pom.xml | |
working-directory: getargv.java | |
- name: Test with Maven | |
run: mvn -B test --file pom.xml | |
working-directory: getargv.java | |
release: | |
permissions: | |
contents: write | |
packages: write | |
needs: [ build ] | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
java: | |
- '17' # see above for versions | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: getargv/getargv | |
path: getargv | |
token: ${{ secrets.GH_PAT }} | |
- name: Build libgetargv | |
run: make dylib | |
working-directory: getargv | |
- name: Install libgetargv | |
run: sudo make install_dylib | |
working-directory: getargv | |
- uses: actions/checkout@v4 | |
with: | |
path: getargv.java | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: maven | |
check-latest: true | |
server-id: ossrh | |
server-username: MAVEN_USERNAME | |
server-password: MAVEN_PASSWORD | |
gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} | |
- name: Publish package to Maven Central | |
run: make release | |
env: | |
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} | |
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} | |
working-directory: getargv.java | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: maven | |
check-latest: true | |
server-id: github | |
- name: fix artifactid for github package registry | |
run: make ghp | |
working-directory: getargv.java | |
- name: Publish package to GitHub Packages | |
run: mvn -DuseGithub=true --batch-mode deploy | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
GITHUB_ACTOR: getargv | |
working-directory: getargv.java |