Skip to content

Commit 95c3df6

Browse files
committed
Build artifacts after push to main
1 parent 84a403b commit 95c3df6

File tree

5 files changed

+198
-6
lines changed

5 files changed

+198
-6
lines changed

.github/workflows/build_linux.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Linux nightly
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
build-linux-binary:
11+
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Set up JDK 22
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '22'
21+
distribution: 'liberica'
22+
cache: maven
23+
24+
- name: Extract version from Maven cache
25+
id: get-version
26+
run: |
27+
version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
28+
-Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml)
29+
echo "version=$version" >> $GITHUB_ENV
30+
31+
- name: Build tcMenuGenerator binary
32+
run: |
33+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
34+
mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml
35+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml
36+
cd tcMenuGenerator/target
37+
cp classes/img/tcMenuDesigner.ico .
38+
jpackage -n tcMenuDesigner \
39+
-p jfx/deps \
40+
--input jfx/app \
41+
--icon ./classes/img/menu-icon.png \
42+
--verbose \
43+
--license-file ../../LICENSE \
44+
--linux-app-category Development \
45+
--linux-menu-group "Development;Utility;" \
46+
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/lin" \
47+
--app-version ${{ env.version }} \
48+
--add-modules "jdk.crypto.cryptoki" \
49+
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
50+
51+
- name: Upload DEB artifact
52+
uses: actions/upload-artifact@v4
53+
with:
54+
name: tcmenudesigner_${{ env.version }}_linux_deb-${{ github.sha }}
55+
path: |
56+
tcMenuGenerator/target/tcmenudesigner_${{ env.version }}_amd64.deb

.github/workflows/build_mac.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: macOS nightly
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
build-macos-binary:
11+
12+
runs-on: macos-latest
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Set up JDK 22
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '22'
21+
distribution: 'liberica'
22+
cache: maven
23+
24+
- name: Extract version from Maven cache
25+
id: get-version
26+
run: |
27+
version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
28+
-Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml)
29+
echo "version=$version" >> $GITHUB_ENV
30+
31+
- name: Build tcMenuGenerator binary
32+
run: |
33+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
34+
mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml
35+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml
36+
cd tcMenuGenerator/target
37+
jpackage -n tcMenuDesigner \
38+
-p jfx/deps \
39+
--input jfx/app \
40+
--icon ./classes/img/AppIcon.icns \
41+
--verbose \
42+
--license-file ../../LICENSE \
43+
--vendor TheCodersCorner \
44+
--app-version ${{ env.version }} \
45+
--add-modules "jdk.crypto.cryptoki" \
46+
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/mac" \
47+
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
48+
49+
- name: Upload macOS artifact
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: tcmenudesigner_${{ env.version }}_macos-${{ github.sha }}
53+
path: |
54+
tcMenuGenerator/target/tcMenuDesigner-${{ env.version }}.dmg

.github/workflows/build_windows.yml

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Windows nightly
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
8+
9+
jobs:
10+
build-windows-binary:
11+
12+
runs-on: windows-latest
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
17+
- name: Set up JDK 22
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: '22'
21+
distribution: 'liberica'
22+
cache: maven
23+
24+
- name: Extract version from Maven cache
25+
id: get-version
26+
shell: bash
27+
run: |
28+
version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
29+
-Dexpression=project.version -q -DforceStdout --file tcMenuGenerator/pom.xml)
30+
echo "version=$version" >> $GITHUB_ENV
31+
32+
- name: Build tcMenuGenerator binaries
33+
shell: bash
34+
run: |
35+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
36+
mvn -B install -DskipTests -Dgpg.skip=true --file embedCONTROLCore/pom.xml
37+
mvn -B install -DskipTests -Dgpg.skip=true --file tcMenuGenerator/pom.xml
38+
cd tcMenuGenerator/target
39+
cp classes/img/tcMenuDesigner.ico .
40+
jpackage --type app-image -n tcmenu \
41+
-p jfx/deps \
42+
--input jfx/app \
43+
--win-console \
44+
--resource-dir ./classes/img/ \
45+
--icon tcMenuDesigner.ico \
46+
--app-version ${{ env.version }} \
47+
--verbose \
48+
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \
49+
--add-modules "jdk.crypto.cryptoki" \
50+
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
51+
cp classes/img/tcMenuDesigner.ico .
52+
jpackage --type app-image -n tcMenuDesigner \
53+
-p jfx/deps \
54+
--input jfx/app \
55+
--resource-dir ./classes/img/ \
56+
--icon tcMenuDesigner.ico \
57+
--app-version ${{ env.version }} \
58+
--verbose \
59+
--java-options "-Dprism.lcdtext=false -Djava.library.path=$APPDIR/win" \
60+
--add-modules "jdk.crypto.cryptoki" \
61+
-m com.thecoderscorner.tcmenu.menuEditorUI/com.thecoderscorner.menu.editorui.cli.TcMenuDesignerCmd
62+
63+
- name: Package EXE and config files
64+
shell: bash
65+
run: |
66+
mkdir -p packaged/tcmenu/app
67+
mkdir -p packaged/tcMenuDesigner/app
68+
cp tcMenuGenerator/target/tcmenu/tcmenu.exe packaged/tcmenu/
69+
cp tcMenuGenerator/target/tcmenu/app/tcmenu.cfg packaged/tcmenu/app/
70+
cp tcMenuGenerator/target/tcMenuDesigner/tcMenuDesigner.exe packaged/tcMenuDesigner/
71+
cp tcMenuGenerator/target/tcMenuDesigner/app/tcMenuDesigner.cfg packaged/tcMenuDesigner/app/
72+
73+
- name: Upload Windows artifacts
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: tcmenudesigner_${{ env.version }}_windows_exe-${{ github.sha }}
77+
path: |
78+
packaged/tcmenu
79+
packaged/tcMenuDesigner
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
name: Build
1+
name: Test
22

33
on:
44
push:
55
pull_request:
66
branches: [ "main" ]
77

88
jobs:
9-
build:
9+
test:
1010

1111
runs-on: ubuntu-latest
1212

@@ -19,11 +19,11 @@ jobs:
1919
distribution: 'liberica'
2020
cache: maven
2121

22-
- name: Build tcMenuJavaApi
22+
- name: Build and test tcMenuJavaApi
2323
run: mvn -B install -Dgpg.skip=true --file tcMenuJavaApi/pom.xml
2424

25-
- name: Build embedCONTROLCore
25+
- name: Build and test embedCONTROLCore
2626
run: mvn -B install -Dgpg.skip=true --file embedCONTROLCore/pom.xml
2727

28-
- name: Build tcMenuGenerator
28+
- name: Build and test tcMenuGenerator
2929
run: mvn -B install -Dgpg.skip=true --file tcMenuGenerator/pom.xml

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## tcMenu - A menu library and designer for Arduino and mbed with IoT capabilities
2-
[![Java Build](https://github.com/TcMenu/tcMenu/actions/workflows/build.yml/badge.svg)](https://github.com/TcMenu/tcMenu/actions/workflows/build.yml)
2+
[![Java Test](https://github.com/TcMenu/tcMenu/actions/workflows/test.yml/badge.svg)](https://github.com/TcMenu/tcMenu/actions/workflows/test.yml)
3+
[![Linux nightly](https://github.com/TcMenu/tcMenu/actions/workflows/build_linux.yml/badge.svg)](https://github.com/TcMenu/tcMenu/actions/workflows/build_linux.yml)
4+
[![macOS nightly](https://github.com/TcMenu/tcMenu/actions/workflows/build_mac.yml/badge.svg)](https://github.com/TcMenu/tcMenu/actions/workflows/build_mac.yml)
5+
[![Windows nightly](https://github.com/TcMenu/tcMenu/actions/workflows/build_windows.yml/badge.svg)](https://github.com/TcMenu/tcMenu/actions/workflows/build_windows.yml)
36
[![License: Apache 2.0](https://img.shields.io/badge/license-Apache--2.0-green.svg)](https://github.com/TcMenu/tcMenu/blob/main/LICENSE)
47
[![GitHub release](https://img.shields.io/github/release/TcMenu/tcMenu.svg?maxAge=3600)](https://github.com/TcMenu/tcMenu/releases)
58
[![davetcc](https://img.shields.io/badge/davetcc-dev-blue.svg)](https://github.com/davetcc)

0 commit comments

Comments
 (0)