Path adjustment in pom #20
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: Build Installers | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the "master" branch | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
analyze: | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- uses: actions/checkout@v3 | |
- id: setup-jdk | |
name: Setup JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
settings-path: ${{ github.workspace }} | |
- uses: s4u/[email protected] | |
with: | |
servers: '[{"id": "github","configuration": {"httpHeaders": {"property": {"name": "Authorization","value": "Bearer ${{ secrets.GITHUB_TOKEN }}"}}}}]' | |
- name: Cache SonarCloud packages | |
uses: actions/cache@v1 | |
with: | |
path: ~/.sonar/cache | |
key: ${{ runner.os }}-sonar | |
restore-keys: ${{ runner.os }}-sonar | |
- name: Analyze | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
run: mvn -B clean install -Dmaven.test.skip=true -pl !WoPeD-Installer org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=woped_WoPeD | |
build-linux-installer: | |
name: Build Installer on Linux | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
# SETUP BUILD ENVIRONMENT | |
- id: checkout-code | |
name: Checkout | |
uses: actions/checkout@v3 | |
- id: setup-jdk | |
name: Setup JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
settings-path: ${{ github.workspace }} | |
- uses: s4u/[email protected] | |
with: | |
servers: '[{"id": "github","configuration": {"httpHeaders": {"property": {"name": "Authorization","value": "Bearer ${{ secrets.GITHUB_TOKEN }}"}}}}]' | |
# BUILD FOR DISTRIBUTION | |
- id: build | |
name: Build distribution | |
run: | | |
mvn -U -pl !WoPeD-Installer clean install -Dmaven.test.skip=true --no-transfer-progress | |
jpackage --input /home/runner/work/WoPeD/WoPeD --name WoPeD --main-jar /home/runner/work/WoPeD/WoPeD/WoPeD-Starter/target/WoPeD-Starter-3.9.1-SNAPSHOT.jar --main-class org.woped.starter.RunWoPeD --dest ./woped-installer/build/distributions | |
ls ./woped-installer/build/distributions | |
# SAVE INSTALLER | |
- id: upload-installer | |
name: Upload installer | |
uses: actions/upload-artifact@v2 | |
with: | |
path: ./woped-installer/build/distributions/woped_1.0-1_amd64.deb | |
name: linux-installer | |
retention-days: 1 | |
build-windows-installer: | |
name: Build Installer on Windows | |
runs-on: windows-latest | |
steps: | |
# SETUP BUILD ENVIRONMENT | |
- id: checkout-code | |
name: Checkout | |
uses: actions/checkout@v3 | |
- id: setup-jdk | |
name: Setup JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
settings-path: ${{ github.workspace }} | |
- uses: s4u/[email protected] | |
with: | |
servers: '[{"id": "github","configuration": {"httpHeaders": {"property": {"name": "Authorization","value": "Bearer ${{ secrets.GITHUB_TOKEN }}"}}}}]' | |
# BUILD FOR DISTRIBUTION | |
- id: build | |
name: Build distribution | |
run: | | |
mvn -U -pl !WoPeD-Installer clean install '-Dmaven.test.skip=true' '--no-transfer-progress' | |
jpackage --input C:\Users\runneradmin\.m2\repository\de\dhbw\woped --name WoPeD --main-jar C:\Users\runneradmin\.m2\repository\de\dhbw\woped\WoPeD-Starter\3.9.1-SNAPSHOT\WoPeD-Starter-3.9.1-SNAPSHOT.jar --main-class org.woped.starter.RunWoPeD --dest C:\ --type msi | |
dir C:\ | |
# SAVE INSTALLER | |
- id: upload-installer | |
name: Upload installer | |
uses: actions/upload-artifact@v2 | |
with: | |
path: C:\WoPeD-1.0.msi | |
name: windows-installer | |
retention-days: 1 | |
build-macos-installer: | |
name: Build Installer on macOS | |
runs-on: macos-latest | |
steps: | |
# SETUP BUILD ENVIRONMENT | |
- id: checkout-code | |
name: Checkout | |
uses: actions/checkout@v3 | |
- id: setup-jdk | |
name: Setup JDK | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
settings-path: ${{ github.workspace }} | |
- uses: s4u/[email protected] | |
with: | |
servers: '[{"id": "github","configuration": {"httpHeaders": {"property": {"name": "Authorization","value": "Bearer ${{ secrets.GITHUB_TOKEN }}"}}}}]' | |
# BUILD FOR DISTRIBUTION | |
- id: build | |
name: Build distribution | |
run: | | |
mvn -U -pl !WoPeD-Installer clean install -Dmaven.test.skip=true --no-transfer-progress | |
jpackage --input /Users/runner/.m2/repository/de/dhbw/woped/ --name WoPeD --main-jar /Users/runner/.m2/repository/de/dhbw/woped/WoPeD-Starter/3.9.1-SNAPSHOT/WoPeD-Starter-3.9.1-SNAPSHOT.jar --main-class org.woped.starter.RunWoPeD --dest /Users/runner/.m2/ --type dmg | |
# SAVE INSTALLER | |
- id: upload-installer | |
name: Upload installer | |
uses: actions/upload-artifact@v2 | |
with: | |
path: /Users/runner/.m2/WoPeD-1.0.dmg | |
name: macos-installer | |
retention-days: 1 | |
create-release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
needs: [build-linux-installer, build-windows-installer, build-macos-installer] | |
steps: | |
- uses: actions/checkout@v3 | |
# DOWNLOAD INSTALLERS | |
- id: download-linux-installer | |
name: Download Linux installer | |
uses: actions/download-artifact@v2 | |
with: | |
name: linux-installer | |
- id: download-windows-installer | |
name: Download Windows installer | |
uses: actions/download-artifact@v2 | |
with: | |
name: windows-installer | |
- id: download-macos-installer | |
name: Download macOS installer | |
uses: actions/download-artifact@v2 | |
with: | |
name: macos-installer | |
# PREPARE VERSION | |
- name: Set Release version env variable | |
run: | | |
echo "RELEASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV | |
- name: Add SHORT_SHA env property with commit short sha | |
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV | |
- name: If Version does contain SNAPSHOT add SHORT_SHA | |
if: contains(env.RELEASE_VERSION, 'SNAPSHOT') | |
run: echo "RELEASE_NAME=${{ env.RELEASE_VERSION }}-${{ env.SHORT_SHA }}" >> $GITHUB_ENV | |
- name: If Version does not contain SNAPSHOT add nothing | |
if: false == contains(env.RELEASE_VERSION, 'SNAPSHOT') | |
run: echo "RELEASE_NAME=${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV | |
# CREATE GITHUB RELEASE AND ADD ASSETS | |
- id: create-release | |
name: Create GitHub release | |
uses: actions/create-release@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.RELEASE_NAME }} | |
release_name: ${{ env.RELEASE_NAME }} | |
draft: false | |
prerelease: false | |
- id: release-linux-installer | |
name: Release Linux installer | |
uses: actions/upload-release-asset@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create-release.outputs.upload_url }} | |
asset_path: woped_1.0-1_amd64.deb | |
asset_name: woped_1.0-1_amd64.deb | |
asset_content_type: application/x-binary | |
- id: release-windows-installer | |
name: Release Windows installer | |
uses: actions/upload-release-asset@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create-release.outputs.upload_url }} | |
asset_path: WoPeD-1.0.msi | |
asset_name: WoPeD-1.0.msi | |
asset_content_type: application/x-binary | |
- id: release-macos-installer | |
name: Release macOS installer | |
uses: actions/upload-release-asset@latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create-release.outputs.upload_url }} | |
asset_path: WoPeD-1.0.dmg | |
asset_name: WoPeD-1.0.dmg | |
asset_content_type: application/x-binary |