2121 # Set outputs for use in later jobs or steps
2222 echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT
2323 echo "version=$VERSION" >> $GITHUB_OUTPUT
24+ reference :
25+ name : Publish Processing Reference to release
26+ runs-on : ubuntu-latest
27+ needs : version
28+ steps :
29+ - name : Checkout Website Repository
30+ uses : actions/checkout@v4
31+ with :
32+ repository : processing/processing-website
33+ - name : Use Node.js 16
34+ uses : actions/setup-node@v3
35+ with :
36+ node-version : 16
37+ - name : Install dependencies
38+ run : npm ci
39+ - name : Build
40+ run : npm run build
41+ - name : Make reference.zip
42+ run : npm run zip
43+ - name : Upload reference to release
44+ uses : svenstaro/upload-release-action@v2
45+ with :
46+ repo_token : ${{ secrets.GITHUB_TOKEN }}
47+ asset_name : processing-${{ needs.version.outputs.version }}-reference.zip
48+ file : reference.zip
49+
2450 publish :
25- name : Publish Processing Core to Maven Central
51+ name : Publish Processing Libraries to Maven Central
2652 runs-on : ubuntu-latest
2753 needs : version
2854 steps :
3561 java-version : 17
3662 - name : Setup Gradle
3763 uses : gradle/actions/setup-gradle@v4
64+
3865 - name : Build with Gradle
3966 run : ./gradlew publish
4067 env :
5077 ORG_GRADLE_PROJECT_version : ${{ needs.version.outputs.version }}
5178 ORG_GRADLE_PROJECT_group : ${{ vars.PROCESSING_GROUP }}
5279 build :
53- name : Publish Release for ${{ matrix.os_prefix }} ( ${{ matrix.arch }})
80+ name : ( ${{ matrix.os_prefix }}/ ${{ matrix.arch }}) Create Processing Release
5481 runs-on : ${{ matrix.os }}
5582 needs : version
5683 permissions :
@@ -59,26 +86,47 @@ jobs:
5986 fail-fast : false
6087 matrix :
6188 include :
62- # compiling for arm32 needs a self-hosted runner on Raspi OS (32-bit)
63- - os : [self-hosted, linux, ARM]
89+ - os : ubuntu-24.04-arm
6490 os_prefix : linux
65- arch : arm
91+ arch : aarch64
92+ binary : processing_${{ needs.version.outputs.version }}_arm64
93+ extension : snap
6694 - os : ubuntu-latest
6795 os_prefix : linux
6896 arch : x64
97+ binary : processing_${{ needs.version.outputs.version }}_amd64
98+ extension : snap
6999 - os : windows-latest
70100 os_prefix : windows
71101 arch : x64
102+ binary : msi/Processing-${{ needs.version.outputs.version }}
103+ extension : msi
72104 - os : macos-latest
73105 os_prefix : macos
74106 arch : x64
107+ binary : dmg/Processing-${{ needs.version.outputs.version }}
108+ extension : dmg
75109 - os : macos-latest
76110 os_prefix : macos
77111 arch : aarch64
78- - os : macos-latest
79- os_prefix : linux
80- arch : aarch64
112+ binary : dmg/Processing-${{ needs.version.outputs.version }}
113+ extension : dmg
81114 steps :
115+ - name : Install Certificates for Code Signing
116+ if : runner.os == 'macOS'
117+ continue-on-error : true
118+ uses : apple-actions/import-codesign-certs@v3
119+ with :
120+ p12-file-base64 : ${{ secrets.CERTIFICATES_P12 }}
121+ p12-password : ${{ secrets.CERTIFICATES_P12_PASSWORD }}
122+
123+ - name : Install Snapcraft
124+ if : runner.os == 'Linux'
125+ uses : samuelmeuli/action-snapcraft@v3
126+ - name : Install LXD
127+ if : runner.os == 'Linux'
128+ uses : canonical/setup-lxd@main
129+
82130 - name : Checkout Repository
83131 uses : actions/checkout@v4
84132 - name : Install Java
@@ -89,25 +137,23 @@ jobs:
89137 architecture : ${{ matrix.arch }}
90138 - name : Setup Gradle
91139 uses : gradle/actions/setup-gradle@v4
92- # - name: Install Certificates for Code Signing
93- # if: ${{ matrix.os_prefix == 'macos' }}
94- # uses: apple-actions/import-codesign-certs@v3
95- # with:
96- # p12-file-base64: ${{ secrets.CERTIFICATES_P12 }}
97- # p12-password: ${{ secrets.CERTIFICATES_P12_PASSWORD }}
140+
98141 - name : Build with Gradle
99142 run : ./gradlew packageDistributionForCurrentOS
100143 env :
101144 ORG_GRADLE_PROJECT_version : ${{ needs.version.outputs.version }}
102145 ORG_GRADLE_PROJECT_group : ${{ vars.PROCESSING_GROUP }}
103146
104- - name : Upload binaries to release
147+ - name : Upload portables to release
148+ uses : svenstaro/upload-release-action@v2
149+ with :
150+ repo_token : ${{ secrets.GITHUB_TOKEN }}
151+ asset_name : processing-${{ needs.version.outputs.version }}-${{ matrix.os_prefix }}-${{ matrix.arch }}-portable.zip
152+ file : app/build/compose/binaries/main/Processing-${{ needs.version.outputs.version }}.zip
153+
154+ - name : Upload installers to release
105155 uses : svenstaro/upload-release-action@v2
106156 with :
107157 repo_token : ${{ secrets.GITHUB_TOKEN }}
108- file : |
109- ./app/build/compose/binaries/main/dmg/Processing-*.dmg
110- ./app/build/compose/binaries/main/dmg/INSTRUCTIONS_FOR_TESTING.txt
111- ./app/build/compose/binaries/main/msi/Processing-*.msi
112- ./app/build/compose/binaries/main/deb/processing*.deb
113- file_glob : true
158+ asset_name : processing-${{ needs.version.outputs.version }}-${{ matrix.os_prefix }}-${{ matrix.arch }}.${{ matrix.extension }}
159+ file : app/build/compose/binaries/main/${{ matrix.binary }}.${{ matrix.extension }}
0 commit comments