Skip to content

Add executables

Add executables #59

Workflow file for this run

name: build
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
env:
IMAGE_NAME: tp2intervals
JAR_NAME: tp2intervals
jobs:
jar:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
with:
java-version: 21
distribution: 'corretto'
cache: 'gradle'
- uses: actions/setup-node@v4
with:
node-version: 20.10.0
cache: 'npm'
cache-dependency-path: 'ui/package-lock.json'
- name: Build project
run: ./scripts/build-jar.sh
- uses: actions/upload-artifact@v4
with:
name: ${{ env.JAR_NAME }}.jar
path: boot/build/libs/${{ env.JAR_NAME }}-[0-9].[0-9].[0-9].jar
if-no-files-found: error
compression-level: 0
executable:
needs:
- jar
strategy:
matrix:
environment:
- os: ubuntu-latest
name: linux
jpackage-type: app-image
- os: windows-latest
name: windows
jpackage-type: exe
runs-on: ${{ matrix.environment.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v3
with:
java-version: 21
distribution: 'corretto'
cache: 'gradle'
- uses: actions/download-artifact@master
with:
name: ${{ env.JAR_NAME }}.jar
path: artifact
- name: Create executable
run: |
jpackage \
--name $JAR_NAME \
--input artifact \
--main-jar `ls artifact` \
--type ${{ matrix.environment.jpackage-type }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.environment.name }}
path: ${{ env.JAR_NAME }}
if-no-files-found: error
compression-level: 0
docker:
runs-on: ubuntu-latest
needs:
- jar
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@master
with:
name: jar
path: jar
- name: Build project
run: docker build . --file Dockerfile --tag $IMAGE_NAME --build-arg JAR_PATH=jar/$JAR_NAME-*.jar