Build artifacts after push to main #7
Workflow file for this run
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 Windows Binary | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
jobs: | |
build-windows-binary: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 22 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '22' | |
distribution: 'liberica' | |
cache: maven | |
- name: Extract version from Maven cache | |
id: get-version | |
shell: bash | |
run: | | |
version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \ | |
-Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml) | |
echo "version=$version" >> $GITHUB_ENV | |
- name: Build tcMenuGenerator binaries | |
shell: bash | |
run: | | |
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml | |
mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml | |
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml | |
cd tcMenuGenerator/target | |
cp classes/img/tcMenuDesigner.ico . | |
jpackage --type app-image -n tcmenu \ | |
-p jfx/deps \ | |
--input jfx/app \ | |
--win-console \ | |
--resource-dir ./classes/img/ \ | |
--icon tcMenuDesigner.ico \ | |
--app-version ${{ env.version }} \ | |
--verbose \ | |
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \ | |
--add-modules "jdk.crypto.cryptoki" \ | |
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd | |
cp classes/img/tcMenuDesigner.ico . | |
jpackage --type app-image -n tcMenuDesigner \ | |
-p jfx/deps \ | |
--input jfx/app \ | |
--resource-dir ./classes/img/ \ | |
--icon tcMenuDesigner.ico \ | |
--app-version ${{ env.version }} \ | |
--verbose \ | |
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \ | |
--add-modules "jdk.crypto.cryptoki" \ | |
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd | |
- name: Package EXE and config files | |
shell: bash | |
run: | | |
mkdir -p packaged/tcmenu/app | |
mkdir -p packaged/tcMenuDesigner/app | |
cp tcMenuGenerator/target/tcmenu/tcmenu.exe packaged/tcmenu/ | |
cp tcMenuGenerator/target/tcmenu/app/tcmenu.cfg packaged/tcmenu/app/ | |
cp tcMenuGenerator/target/tcMenuDesigner/tcMenuDesigner.exe packaged/tcMenuDesigner/ | |
cp tcMenuGenerator/target/tcMenuDesigner/app/tcMenuDesigner.cfg packaged/tcMenuDesigner/app/ | |
- name: Upload Windows artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tcmenudesigner_${{ env.version }}_windows_exe-${{ github.sha }} | |
path: | | |
packaged/tcmenu | |
packaged/tcMenuDesigner |