Skip to content

Path adjustment in pom #20

Path adjustment in pom

Path adjustment in pom #20

Workflow file for this run

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