Skip to content

Merge pull request #415 from mayerrobert/dependabot/github_actions/gi… #2136

Merge pull request #415 from mayerrobert/dependabot/github_actions/gi…

Merge pull request #415 from mayerrobert/dependabot/github_actions/gi… #2136

Workflow file for this run

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI
on:
push:
paths-ignore:
- CHANGES
- Dockerfile
- Dockerfile.distroless
- "**.md"
- "**.txt"
- "**.html"
- "**.completions"
- "scribbles/**"
branches: [ master ]
pull_request:
paths-ignore:
- CHANGES
- Dockerfile
- "**.md"
- "**.txt"
- "**.html"
- "**.completions"
- "scribbles/**"
branches: [ master ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
java: [ '8', '17', '21', '23', '24-ea' ]
name: Java ${{ matrix.Java }} CI
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK ${{ matrix.Java }}
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Cache Maven repo
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- name: Build with Maven
run: |
mvn -V -B clean install site --file pom.xml -Djdk.console=jdk.jshell -Djavac.target=`echo "${{ matrix.java }}" | sed -e "s/-ea//g"` \
&& cp lambda/target/jmurmel.jar . \
&& cp samples.murmel-mlib/mlib.lisp .
- name: Upload Jar, mlib, docs
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: jmurmel-temurin-${{ matrix.java }}
path: |
jmurmel.jar
mlib.lisp
murmel-langref.md
mlib.md
murmel-langref.html
mlib.html
LICENSE
- name: Create W64 launcher
if: ${{ matrix.java == '8' }}
run: |
mvn -V -B package -pl scripts -Dlaunch4j.skip=false \
&& cp scripts/target/jmurmel.exe . \
&& cp samples.murmel-mlib/mlib.lisp .
- name: Upload launch4j exe, mlib, docs
if: ${{ matrix.java == '8' }}
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
with:
name: jmurmel-w64-slim
path: |
jmurmel.exe
mlib.lisp
murmel-langref.md
mlib.md
murmel-langref.html
mlib.html
LICENSE
legal/launch4j/*