1
- name : Build
1
+ name : Pre-releases
2
2
on : [push]
3
3
4
4
jobs :
5
5
test :
6
6
runs-on : ubuntu-latest
7
7
name : Run Tests
8
8
steps :
9
- - name : Checkout
9
+ - name : Checkout Repository
10
10
uses : actions/checkout@v4
11
- - name : Update apt
12
- run : yes | sudo apt-get update
13
- - name : Install rsync
14
- run : yes | sudo apt-get install rsync
15
11
- name : Install Java
16
12
uses : actions/setup-java@v4
17
13
with :
@@ -21,89 +17,53 @@ jobs:
21
17
- name : Build
22
18
run : >
23
19
cd build;
24
- ant clean;
25
- ant build
26
- - name : Test
27
- run : >
28
- cd build;
29
- ant test
30
- linux :
31
- runs-on : ubuntu-latest
32
- name : Build Linux
33
- needs : [test]
20
+ ant -noinput build test;
21
+ build :
22
+ name : Create Pre-release for ${{ matrix.os_prefix }} (${{ matrix.arch }})
23
+ needs : test
24
+ runs-on : ${{ matrix.os }}
25
+ permissions :
26
+ contents : write
27
+ strategy :
28
+ matrix :
29
+ include :
30
+ # compiling for arm32 needs a self-hosted runner on Raspi OS (32-bit)
31
+ - os : self-hosted
32
+ os_prefix : linux
33
+ arch : arm
34
+ - os : ubuntu-latest
35
+ os_prefix : linux
36
+ arch : x64
37
+ - os : windows-latest
38
+ os_prefix : windows
39
+ arch : x64
40
+ - os : macos-latest
41
+ os_prefix : macos
42
+ arch : x64
43
+ - os : macos-latest
44
+ os_prefix : macos
45
+ arch : aarch64
46
+ - os : macos-latest
47
+ os_prefix : linux
48
+ arch : aarch64
34
49
steps :
35
- - name : Checkout
50
+ - name : Checkout Repository
36
51
uses : actions/checkout@v4
37
- - name : Update apt
38
- run : yes | sudo apt-get update
39
- - name : Install rsync
40
- run : yes | sudo apt-get install rsync
41
52
- name : Install Java
42
53
uses : actions/setup-java@v4
43
54
with :
44
55
java-version : ' 17'
45
56
distribution : ' temurin'
46
- architecture : x64
47
- - name : Build linux
48
- run : >
49
- cd build;
50
- ant clean;
51
- ant build
57
+ architecture : ${{ matrix.arch }}
58
+ - name : Setup Ant
59
+ uses : cedx/setup-ant@v3
60
+ - name : Build Release
61
+ run : ant -noinput -buildfile build/build.xml ${{ matrix.os_prefix }}-dist -Dversion="${{ github.sha }}"
52
62
- name : Add artifact
53
- uses : actions/upload-artifact@v3
54
63
if : ${{ github.ref == 'ref/head/main' }}
55
- with :
56
- name : linux
57
- path : ./build/linux/work
58
- mac :
59
- runs-on : macos-latest
60
- name : Build Mac
61
- needs : [test]
62
- steps :
63
- - name : Checkout
64
- uses : actions/checkout@v4
65
- - name : Install brew
66
- run : /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
67
- - name : Install rsync
68
- run : brew install rsync
69
- - name : Install Java
70
- uses : actions/setup-java@v4
71
- with :
72
- java-version : ' 17'
73
- distribution : ' temurin'
74
- architecture : x64
75
- - name : Build mac
76
- run : >
77
- cd build;
78
- ant clean;
79
- ant build
80
- - name : Add artifact
81
64
uses : actions/upload-artifact@v3
82
- if : ${{ github.ref == 'ref/head/main' }}
83
- with :
84
- name : macos
85
- path : ./build/macos/work
86
- windows :
87
- runs-on : windows-latest
88
- name : Build Windows
89
- needs : [test]
90
- steps :
91
- - name : Checkout
92
- uses : actions/checkout@v4
93
- - name : Install Java
94
- uses : actions/setup-java@v4
95
- with :
96
- java-version : ' 17'
97
- distribution : ' temurin'
98
- architecture : x64
99
- - name : Build
100
- run : >
101
- cd build;
102
- ant clean;
103
- ant build
104
- - name : Add artifact
105
- uses : actions/upload-artifact@v3
106
- if : ${{ github.ref == 'ref/head/main' }}
65
+ id : upload
107
66
with :
108
- name : windows
109
- path : ./build/windows/work
67
+ name : processing-${{github.sha}}${{ matrix.os_prefix }}-${{ matrix.arch }}
68
+ path : ./build/${{ matrix.os_prefix }}/processing-${{github.sha}}-${{ matrix.os_prefix}}-*
69
+ retention-days : 1
0 commit comments