Skip to content

Commit 7b958fe

Browse files
committed
Merge branch 'main' into schema-tests
2 parents 9f78884 + 448ee16 commit 7b958fe

File tree

18 files changed

+197
-100
lines changed

18 files changed

+197
-100
lines changed

.github/workflows/build-gradle.yml

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,63 @@
1-
name: Pre-releases with Gradle
1+
name: Branch Builds
22
on:
33
push:
44
paths-ignore:
55
- '**/*.md'
66
- '.all-contributorsrc'
77

88
jobs:
9+
test:
10+
runs-on: ubuntu-latest
11+
name: Test Processing
12+
steps:
13+
- name: Checkout Repository
14+
uses: actions/checkout@v4
15+
- name: Install Java
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: '17'
19+
distribution: 'temurin'
20+
- name: Setup Gradle
21+
uses: gradle/actions/setup-gradle@v4
22+
23+
- name: Build with Gradle
24+
run: ./gradlew test
925
build:
10-
name: Create Pre-release for ${{ matrix.os_prefix }} (${{ matrix.arch }})
26+
name: (${{ matrix.os_prefix }}/${{ matrix.arch }}) Create Processing Build
1127
runs-on: ${{ matrix.os }}
12-
permissions:
13-
contents: write
28+
needs: test
1429
strategy:
1530
fail-fast: false
1631
matrix:
1732
include:
18-
- os: [self-hosted, linux, ARM64]
33+
- os: ubuntu-24.04-arm
1934
os_prefix: linux
2035
arch: aarch64
36+
binary: processing*.snap
2137
- os: ubuntu-latest
2238
os_prefix: linux
2339
arch: x64
40+
binary: processing*.snap
2441
- os: windows-latest
2542
os_prefix: windows
2643
arch: x64
44+
binary: msi/Processing-*.msi
2745
- os: macos-latest
2846
os_prefix: macos
2947
arch: x64
48+
binary: dmg/Processing-*.dmg
3049
- os: macos-latest
3150
os_prefix: macos
3251
arch: aarch64
52+
binary: dmg/Processing-*.dmg
3353
steps:
54+
- name: Install Snapcraft
55+
if: runner.os == 'Linux'
56+
uses: samuelmeuli/action-snapcraft@v3
57+
- name: Install LXD
58+
if: runner.os == 'Linux'
59+
uses: canonical/setup-lxd@main
60+
3461
- name: Checkout Repository
3562
uses: actions/checkout@v4
3663
- name: Install Java
@@ -41,19 +68,13 @@ jobs:
4168
architecture: ${{ matrix.arch }}
4269
- name: Setup Gradle
4370
uses: gradle/actions/setup-gradle@v4
71+
4472
- name: Build with Gradle
4573
run: ./gradlew packageDistributionForCurrentOS
46-
- name: Add instructions
47-
if: ${{ matrix.os_prefix == 'macos' }}
48-
run: |
49-
echo "run 'xattr -d com.apple.quarantine Processing-${version}.dmg' to remove the quarantine flag" > ./app/build/compose/binaries/main/dmg/INSTRUCTIONS_FOR_TESTING.txt
74+
5075
- name: Add artifact
5176
uses: actions/upload-artifact@v4
5277
with:
53-
name: processing-${{ github.ref_name }}-${{github.sha}}-${{ matrix.os_prefix }}-${{ matrix.arch }}-gradle
54-
path: |
55-
./app/build/compose/binaries/main/dmg/Processing-*.dmg
56-
./app/build/compose/binaries/main/dmg/INSTRUCTIONS_FOR_TESTING.txt
57-
./app/build/compose/binaries/main/msi/Processing-*.msi
58-
./app/build/compose/binaries/main/deb/processing*.deb
78+
name: processing-${{ matrix.os_prefix }}-${{ matrix.arch }}-br_${{ github.ref_name }}
5979
retention-days: 1
80+
path: app/build/compose/binaries/main/${{ matrix.binary }}

.github/workflows/maven.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.github/workflows/pull_request-gradle.yml

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,58 @@ on:
77
- main
88

99
jobs:
10-
build:
11-
name: Create Pull Request Build for ${{ matrix.os_prefix }} (${{ matrix.arch }})
10+
test:
11+
runs-on: ubuntu-latest
12+
name: Test Processing
13+
steps:
14+
- name: Checkout Repository
15+
uses: actions/checkout@v4
16+
- name: Install Java
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: '17'
20+
distribution: 'temurin'
21+
- name: Setup Gradle
22+
uses: gradle/actions/setup-gradle@v4
23+
24+
- name: Build with Gradle
25+
run: ./gradlew test
26+
build:
27+
name: (${{ matrix.os_prefix }}/${{ matrix.arch }}) Create Processing Build
1228
runs-on: ${{ matrix.os }}
13-
permissions:
14-
pull-requests: write
15-
contents: read
29+
needs: test
1630
strategy:
1731
fail-fast: false
1832
matrix:
1933
include:
2034
- os: ubuntu-24.04-arm
2135
os_prefix: linux
2236
arch: aarch64
37+
binary: processing*.snap
2338
- os: ubuntu-latest
2439
os_prefix: linux
2540
arch: x64
41+
binary: processing*.snap
2642
- os: windows-latest
2743
os_prefix: windows
2844
arch: x64
45+
binary: msi/Processing-*.msi
2946
- os: macos-latest
3047
os_prefix: macos
3148
arch: x64
49+
binary: dmg/Processing-*.dmg
3250
- os: macos-latest
3351
os_prefix: macos
3452
arch: aarch64
53+
binary: dmg/Processing-*.dmg
3554
steps:
55+
- name: Install Snapcraft
56+
if: runner.os == 'Linux'
57+
uses: samuelmeuli/action-snapcraft@v3
58+
- name: Install LXD
59+
if: runner.os == 'Linux'
60+
uses: canonical/setup-lxd@main
61+
3662
- name: Checkout Repository
3763
uses: actions/checkout@v4
3864
- name: Install Java
@@ -43,19 +69,13 @@ jobs:
4369
architecture: ${{ matrix.arch }}
4470
- name: Setup Gradle
4571
uses: gradle/actions/setup-gradle@v4
72+
4673
- name: Build with Gradle
4774
run: ./gradlew packageDistributionForCurrentOS
48-
- name: Add instructions
49-
if: ${{ matrix.os_prefix == 'macos' }}
50-
run: |
51-
echo "run 'xattr -d com.apple.quarantine Processing-${version}.dmg' to remove the quarantine flag" > ./app/build/compose/binaries/main/dmg/INSTRUCTIONS_FOR_TESTING.txt
75+
5276
- name: Add artifact
5377
uses: actions/upload-artifact@v4
5478
with:
55-
name: processing-pr${{ github.event.pull_request.number }}-${{github.sha}}-${{ matrix.os_prefix }}-${{ matrix.arch }}-gradle
56-
path: |
57-
./app/build/compose/binaries/main/dmg/Processing-*.dmg
58-
./app/build/compose/binaries/main/dmg/INSTRUCTIONS_FOR_TESTING.txt
59-
./app/build/compose/binaries/main/msi/Processing-*.msi
60-
./app/build/compose/binaries/main/deb/processing*.deb
79+
name: processing-${{ matrix.os_prefix }}-${{ matrix.arch }}-pr_${{ github.ref_name }}
6180
retention-days: 5
81+
path: app/build/compose/binaries/main/${{ matrix.binary }}

.github/workflows/release-gradle.yml

Lines changed: 67 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,34 @@ jobs:
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:
@@ -35,6 +61,7 @@ jobs:
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:
@@ -50,7 +77,7 @@ jobs:
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 }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,4 @@ java/build/
112112
/core/examples/build
113113

114114
.build/
115+
/app/windows/obj

.idea/runConfigurations/Processing.xml

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)