Skip to content

Commit a1df38b

Browse files
brunoborgesCopilot
andcommitted
Add generateog to build and deploy workflows
- build-generator.yml: add parallel job to build fat JAR + AOT cache for generateog.java (renamed workflow to 'Build Generator JARs') - deploy.yml: restore generateog cache and run OG card generation before uploading the site artifact - .gitignore: add generateog.jar and generateog.aot Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent aab7b93 commit a1df38b

File tree

3 files changed

+59
-6
lines changed

3 files changed

+59
-6
lines changed

.github/workflows/build-generator.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
name: Build Generator JAR
1+
name: Build Generator JARs
22

33
on:
44
push:
55
branches: [main]
66
paths:
77
- '.github/workflows/build-generator.yml'
88
- 'html-generators/generate.java'
9+
- 'html-generators/generateog.java'
910
schedule:
1011
- cron: '0 6 * * 1' # every Monday at 06:00 UTC
1112
workflow_dispatch:
@@ -15,7 +16,7 @@ permissions:
1516
actions: write
1617

1718
jobs:
18-
build:
19+
build-generate:
1920
runs-on: ubuntu-latest
2021
steps:
2122
- uses: actions/checkout@v6
@@ -40,3 +41,29 @@ jobs:
4041
html-generators/generate.jar
4142
html-generators/generate.aot
4243
key: generator-${{ hashFiles('html-generators/generate.java') }}
44+
45+
build-generateog:
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v6
49+
50+
- uses: actions/setup-java@v5
51+
with:
52+
distribution: 'temurin'
53+
java-version: '25'
54+
55+
- uses: jbangdev/setup-jbang@main
56+
57+
- name: Build fat JAR
58+
run: jbang export fatjar --force --output html-generators/generateog.jar html-generators/generateog.java
59+
60+
- name: Build AOT cache
61+
run: java -XX:AOTCacheOutput=html-generators/generateog.aot -jar html-generators/generateog.jar
62+
63+
- name: Save to cache
64+
uses: actions/cache/save@v5
65+
with:
66+
path: |
67+
html-generators/generateog.jar
68+
html-generators/generateog.aot
69+
key: generateog-${{ hashFiles('html-generators/generateog.java') }}

.github/workflows/deploy.yml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ on:
88
- 'translations/**'
99
- 'templates/**'
1010
- 'site/**'
11+
- 'html-generators/generateog.java'
1112
workflow_run:
12-
workflows: ['Build Generator JAR']
13+
workflows: ['Build Generator JARs']
1314
types: [completed]
1415
branches: [main]
1516
workflow_dispatch:
@@ -35,7 +36,7 @@ jobs:
3536
distribution: 'temurin'
3637
java-version: '25'
3738

38-
- name: Restore cached JAR and AOT
39+
- name: Restore cached generate JAR and AOT
3940
id: cache-restore
4041
uses: actions/cache/restore@v5
4142
with:
@@ -44,18 +45,41 @@ jobs:
4445
html-generators/generate.aot
4546
key: generator-${{ hashFiles('html-generators/generate.java') }}
4647

47-
- name: Generate with cached JAR + AOT
48+
- name: Generate HTML with cached JAR + AOT
4849
if: steps.cache-restore.outputs.cache-hit == 'true'
4950
run: java -XX:AOTCache=html-generators/generate.aot -jar html-generators/generate.jar
5051

5152
- name: Setup JBang (cache miss)
5253
if: steps.cache-restore.outputs.cache-hit != 'true'
5354
uses: jbangdev/setup-jbang@main
5455

55-
- name: Generate with JBang (cache miss)
56+
- name: Generate HTML with JBang (cache miss)
5657
if: steps.cache-restore.outputs.cache-hit != 'true'
5758
run: jbang html-generators/generate.java
5859

60+
- name: Restore cached generateog JAR and AOT
61+
id: cache-restore-og
62+
uses: actions/cache/restore@v5
63+
with:
64+
path: |
65+
html-generators/generateog.jar
66+
html-generators/generateog.aot
67+
key: generateog-${{ hashFiles('html-generators/generateog.java') }}
68+
69+
- name: Generate OG cards with cached JAR + AOT
70+
if: steps.cache-restore-og.outputs.cache-hit == 'true'
71+
run: java -XX:AOTCache=html-generators/generateog.aot -jar html-generators/generateog.jar
72+
73+
- name: Generate OG cards with JBang (cache miss)
74+
if: steps.cache-restore-og.outputs.cache-hit != 'true'
75+
run: |
76+
if ! command -v jbang &> /dev/null; then
77+
echo "Installing JBang..."
78+
curl -Ls https://sh.jbang.dev | bash -s - app setup
79+
export PATH="$HOME/.jbang/bin:$PATH"
80+
fi
81+
jbang html-generators/generateog.java
82+
5983
- name: Setup Pages
6084
uses: actions/configure-pages@v5
6185

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ html-generators/generate.aot
2626
html-generators/generate.jar
2727
html-generators/generate.jsa
2828
html-generators/generate.classlist
29+
html-generators/generateog.aot
30+
html-generators/generateog.jar
2931

3032
# Generated OG social preview SVGs (built by html-generators/generateog.java)
3133
site/og/

0 commit comments

Comments
 (0)