66 - " *"
77 workflow_dispatch :
88 inputs :
9- force_docker_rebuild :
10- type : boolean
11- description : Forces docker image rebuild
12- default : false
139 skip_release :
1410 type : boolean
1511 description : Do not create a release from this run
1612 default : false
1713
1814env :
19- REGISTRY : ghcr.io
15+ REGISTRY : ghcr.io/${{ github.repository_owner }}
2016 IMAGE_NAME : thesis-builder
2117
2218jobs :
23- setup :
24- runs-on : ubuntu-24.04
25-
26- permissions :
27- contents : read
28-
29- outputs :
30- changed : ${{ steps.changes.outputs.dockerfile }}
31- owner : ${{ steps.lower-owner.outputs.owner }}
32-
33- steps :
34- - name : Checkout
35- uses : actions/checkout@v4
36-
37- - name : Detect Dockerfile changes
38- uses : dorny/paths-filter@v3
39- id : changes
40- with :
41- filters : |
42- dockerfile:
43- - '.devcontainer/Dockerfile'
44-
45- - name : Lowercase OWNER
46- id : lower-owner
47- run : |
48- OWNER=${{ github.repository_owner }};
49- echo "owner=${OWNER@L}" >> $GITHUB_OUTPUT
50-
5119 build-and-push-image :
5220 runs-on : ubuntu-24.04
53- needs : setup
54- if : ${{ github.event.inputs.force_docker_rebuild || needs.setup.outputs.changed == 'true' }}
5521
5622 permissions :
5723 contents : read
7137 id : meta
7238 uses : docker/metadata-action@v5
7339 with :
74- images : ${{ env.REGISTRY }}/${{ needs.setup.outputs.owner }}/${{ env.IMAGE_NAME }}
40+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
7541
7642 - name : Set up Docker Buildx
7743 uses : docker/setup-buildx-action@v3
@@ -90,15 +56,13 @@ jobs:
9056 - name : Generate artifact attestation
9157 uses : actions/attest-build-provenance@v3
9258 with :
93- subject-name : ${{ env.REGISTRY }}/${{ needs.setup.outputs.owner }}/${{ env.IMAGE_NAME }}
59+ subject-name : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
9460 subject-digest : ${{ steps.push.outputs.digest }}
9561 push-to-registry : true
9662
9763 build-latex :
9864 runs-on : ubuntu-24.04
99- needs :
100- - setup
101- - build-and-push-image
65+ needs : build-and-push-image
10266
10367 permissions :
10468 contents : write
@@ -109,11 +73,7 @@ jobs:
10973
11074 - name : Run latexmk
11175 run : |
112- docker run --rm \
113- -v "$GITHUB_WORKSPACE":/workspace \
114- -w /workspace \
115- ${{ env.REGISTRY }}/${{ needs.setup.outputs.owner }}/${{ env.IMAGE_NAME }}:latest \
116- latexmk
76+ ./build.sh "$GITHUB_WORKSPACE"
11777
11878 - name : Create Release
11979 uses : softprops/action-gh-release@v2
0 commit comments