Skip to content

Commit 4488fac

Browse files
committed
Add build.sh, rely on image cache
1 parent f8e32bd commit 4488fac

2 files changed

Lines changed: 12 additions & 45 deletions

File tree

.github/workflows/build.yaml

Lines changed: 5 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,52 +6,18 @@ on:
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

1814
env:
19-
REGISTRY: ghcr.io
15+
REGISTRY: ghcr.io/${{ github.repository_owner }}
2016
IMAGE_NAME: thesis-builder
2117

2218
jobs:
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
@@ -71,7 +37,7 @@ jobs:
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

build.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/sh
2+
3+
readonly WORK_DIR="${1:-$(pwd)}"
4+
readonly MOUNT_POINT='/workspace'
5+
readonly USER='ubuntu'
6+
7+
docker run --rm --entrypoint="" -v "$WORK_DIR:$MOUNT_POINT" -w $MOUNT_POINT -u $USER ghcr.io/quasar6x/thesis-builder:latest latexmk

0 commit comments

Comments
 (0)