Skip to content

Commit 4d21012

Browse files
authored
Merge pull request #363 from asterics/alija/feature/build-workflows
Build AsTeRICS with GitHub Actions
2 parents 0070a0f + 06879cd commit 4d21012

File tree

5 files changed

+254
-1
lines changed

5 files changed

+254
-1
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Release (Linux)
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: "Version Number"
7+
required: true
8+
type: string
9+
platform:
10+
description: "Platform Type"
11+
required: false
12+
default: ubuntu-latest
13+
type: choice
14+
options:
15+
- ubuntu-latest
16+
- ubuntu-22.04
17+
- ubuntu-20.04
18+
- ubuntu-18.04
19+
workflow_call:
20+
inputs:
21+
version:
22+
description: "Version Number"
23+
required: true
24+
type: string
25+
platform:
26+
description: "Platform Type"
27+
default: ubuntu-latest
28+
required: true
29+
type: string
30+
env:
31+
VERSION: ${{ inputs.version }}
32+
ARTIFACT: AsTeRICS ${{ inputs.version }} (${{ inputs.platform }})
33+
jobs:
34+
build:
35+
runs-on: ${{ inputs.platform }}
36+
steps:
37+
- name: Get Code
38+
uses: actions/checkout@v3
39+
- name: Install JDK
40+
uses: actions/setup-java@v3
41+
with:
42+
java-version: "8"
43+
distribution: "zulu"
44+
java-package: "jdk+fx"
45+
architecture: "x64"
46+
check-latest: true
47+
- name: Build AsTeRICS
48+
run: ant -buildfile Installer/asterics-are/build.xml deploy -Dfx.deploy.nativeBundles=deb -Dfx.application.version=$VERSION -Dfx.deploy.verbose=true
49+
- name: Release .deb File
50+
uses: actions/upload-artifact@v3
51+
with:
52+
name: ${{ env.ARTIFACT }}
53+
path: Installer/asterics-are/build/deploy/bundles/asterics-are-${{ env.VERSION }}.deb
54+
install:
55+
needs: build
56+
runs-on: ubuntu-latest
57+
steps:
58+
- name: Get Software
59+
uses: actions/download-artifact@v3
60+
with:
61+
name: ${{ env.ARTIFACT }}
62+
- name: Setup Machine
63+
run: sudo mkdir /usr/share/desktop-directories
64+
- name: Install Package
65+
run: sudo apt install ./asterics-are-${{ env.VERSION }}.deb

.github/workflows/release-mac.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Release (macOS)
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: "Version Number"
7+
required: true
8+
type: string
9+
platform:
10+
description: "Platform Type"
11+
required: false
12+
default: macos-latest
13+
type: choice
14+
options:
15+
- macos-latest
16+
- macos-12
17+
- macos-11
18+
- macos-10.15
19+
workflow_call:
20+
inputs:
21+
version:
22+
description: "Version Number"
23+
required: true
24+
type: string
25+
platform:
26+
description: "Platform Type"
27+
default: macos-latest
28+
required: true
29+
type: string
30+
env:
31+
VERSION: ${{ inputs.version }}
32+
ARTIFACT: AsTeRICS ${{ inputs.version }} (${{ inputs.platform }})
33+
jobs:
34+
build:
35+
runs-on: ${{ inputs.platform }}
36+
steps:
37+
- name: Get Code
38+
uses: actions/checkout@v3
39+
- name: Install JDK
40+
uses: actions/setup-java@v3
41+
with:
42+
java-version: "8"
43+
distribution: "zulu"
44+
java-package: "jdk+fx"
45+
architecture: "x64"
46+
check-latest: true
47+
- name: Move JDK
48+
run: |
49+
shopt -s extglob
50+
mkdir -p $JAVA_HOME/Contents/Home
51+
cp -r $JAVA_HOME/!(Contents) $JAVA_HOME/Contents/Home/
52+
- name: Build AsTeRICS
53+
env:
54+
JAVA_HOME: ${{ env.JAVA_HOME_8_X64 }}/Contents/Home
55+
run: ant -buildfile Installer/asterics-are/build.xml deploy -Dfx.deploy.nativeBundles=dmg -DAPE.embedJava=true -Dfx.application.version=$VERSION -Dfx.deploy.verbose=true
56+
- name: Release .dmg File
57+
uses: actions/upload-artifact@v3
58+
with:
59+
name: ${{ env.ARTIFACT }}
60+
path: Installer/asterics-are/build/deploy/bundles/asterics-are-javaembedded-${{ env.VERSION }}.dmg
61+
install:
62+
needs: build
63+
runs-on: macos-latest
64+
steps:
65+
- name: Get Software
66+
uses: actions/download-artifact@v3
67+
with:
68+
name: ${{ env.ARTIFACT }}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Release (Windows)
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
version:
6+
description: "Version Number"
7+
required: true
8+
type: string
9+
platform:
10+
description: "Platform Type"
11+
required: false
12+
default: windows-latest
13+
type: choice
14+
options:
15+
- windows-latest
16+
- windows-2022
17+
- windows-2019
18+
workflow_call:
19+
inputs:
20+
version:
21+
description: "Version Number"
22+
required: true
23+
type: string
24+
platform:
25+
description: "Platform Type"
26+
default: windows-latest
27+
required: true
28+
type: string
29+
env:
30+
VERSION: ${{ inputs.version }}
31+
ARTIFACT: AsTeRICS ${{ inputs.version }} (${{ inputs.platform }})
32+
jobs:
33+
build:
34+
runs-on: ${{ inputs.platform }}
35+
steps:
36+
- name: Get Code
37+
uses: actions/checkout@v3
38+
- name: Install JDK
39+
uses: actions/setup-java@v3
40+
with:
41+
java-version: "8"
42+
distribution: "zulu"
43+
java-package: "jdk+fx"
44+
architecture: "x64"
45+
check-latest: true
46+
- name: Build AsTeRICS
47+
run: bash -ex ./Installer/jenkins-release-script.sh
48+
- name: Release .exe File
49+
uses: actions/upload-artifact@v3
50+
with:
51+
name: ${{ env.ARTIFACT }}
52+
path: Setup_AsTeRICS_${{ env.VERSION }}.exe
53+
install:
54+
needs: build
55+
runs-on: windows-latest
56+
steps:
57+
- name: Get Software
58+
uses: actions/download-artifact@v3
59+
with:
60+
name: ${{ env.ARTIFACT }}
61+
- name: List directory content
62+
run: dir
63+
- name: Install Package
64+
run: start Setup_AsTeRICS_${{ env.VERSION }}.exe

.github/workflows/release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Release
2+
on:
3+
schedule:
4+
- cron: "0 12 * * *"
5+
workflow_dispatch:
6+
inputs:
7+
version:
8+
description: "Version Number"
9+
type: string
10+
push:
11+
tags:
12+
- v[0-9]+.[0-9]+.[0-9]+
13+
jobs:
14+
version:
15+
runs-on: ubuntu-latest
16+
outputs:
17+
version: ${{ steps.version.outputs.version || steps.custom.outputs.version || steps.tag.outputs.version }}
18+
steps:
19+
- name: Output Version
20+
id: version
21+
if: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && inputs.version == '' ) }}
22+
run: echo "version=$(date +'%Y%m%d-%H%M')" >> $GITHUB_OUTPUT
23+
- name: Output Custom Version
24+
id: custom
25+
if: ${{ github.event_name == 'workflow_dispatch' && inputs.version != '' }}
26+
run: echo "version=${{ inputs.version }}" >> $GITHUB_OUTPUT
27+
- name: Output Tag
28+
id: tag
29+
if: ${{ github.event_name == 'push' }}
30+
run: echo "version=$(echo ${GITHUB_REF#refs/*/} | sed -e 's/v//')" >> $GITHUB_OUTPUT
31+
linux:
32+
needs: version
33+
strategy:
34+
matrix:
35+
os: [ubuntu-22.04, ubuntu-20.04]
36+
uses: ./.github/workflows/release-linux.yml
37+
with:
38+
version: ${{ needs.version.outputs.version }}
39+
platform: ${{ matrix.os }}
40+
windows:
41+
needs: version
42+
strategy:
43+
matrix:
44+
os: [windows-2022, windows-2019]
45+
uses: ./.github/workflows/release-windows.yml
46+
with:
47+
version: ${{ needs.version.outputs.version }}
48+
platform: ${{ matrix.os }}
49+
mac:
50+
needs: version
51+
strategy:
52+
matrix:
53+
os: [macos-12, macos-11]
54+
uses: ./.github/workflows/release-mac.yml
55+
with:
56+
version: ${{ needs.version.outputs.version }}
57+
platform: ${{ matrix.os }}

Installer/setup.iss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ begin
9494

9595
Splash.Width := BitmapImage1.Width;
9696
Splash.Height := BitmapImage1.Height;
97-
Splash.Center;
9897
Splash.Show;
9998

10099
BitmapImage1.Refresh;

0 commit comments

Comments
 (0)