Skip to content

Commit c272675

Browse files
authoredFeb 16, 2024
Optimise action steps (#8)
1 parent d7cf0cd commit c272675

File tree

1 file changed

+23
-64
lines changed

1 file changed

+23
-64
lines changed
 

‎.github/workflows/build-container.yml

+23-64
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build & Push container to GH registry
1+
name: Build & Push
22

33
on:
44
push:
@@ -12,32 +12,8 @@ permissions:
1212
contents: write
1313

1414
jobs:
15-
modified-dockerfiles:
16-
name: Have any Dockerfiles been modified?
17-
runs-on: ubuntu-latest
18-
steps:
19-
-
20-
name: Checkout source
21-
uses: actions/checkout@v3
22-
23-
-
24-
name: Check if any Dockerfiles were modified
25-
uses: dorny/paths-filter@v2
26-
id: changes
27-
with:
28-
filters: |
29-
cpu:
30-
- 'cpu/Dockerfile'
31-
hashcat:
32-
- 'hashcat/Dockerfile'
33-
nvidia:
34-
- 'nvidia/Dockerfile'
35-
wordlists:
36-
- 'wordlists/Dockerfile'
37-
3815
build-dependencies:
39-
name: Build dependencies required for core files
40-
needs: [ modified-dockerfiles ]
16+
name: Dependencies
4117
strategy:
4218
fail-fast: true
4319
matrix:
@@ -46,38 +22,22 @@ jobs:
4622
steps:
4723
-
4824
name: Checkout source
49-
uses: actions/checkout@v3
25+
uses: actions/checkout@v4
5026

5127
-
52-
name: Login to ghcr.io
53-
uses: docker/login-action@v2
54-
with:
55-
registry: ghcr.io
56-
username: yimura
57-
password: ${{ secrets.PACKAGE_WRITE_TOKEN }}
58-
59-
-
60-
name: Build and push container
61-
if: steps.changes.outputs.${{ matrix.image }} == 'true'
62-
uses: docker/build-push-action@v4
63-
with:
64-
file: ${{ matrix.image }}/Dockerfile
65-
push: true
66-
tags: ghcr.io/yimura/crackerjack-docker:${{ matrix.image }}
67-
build-args: |
68-
ADD_WORDLIST_N_RULES=true
28+
name: Set up Docker Buildx
29+
uses: docker/setup-buildx-action@v3
6930

7031
-
7132
name: Login to Docker Hub
72-
uses: docker/login-action@v2
33+
uses: docker/login-action@v3
7334
with:
7435
username: yimura
7536
password: ${{ secrets.DOCKER_TOKEN }}
7637

7738
-
78-
name: Build and push container
79-
if: steps.changes.outputs.${{ matrix.image }} == 'true'
80-
uses: docker/build-push-action@v4
39+
name: Build dependency
40+
uses: docker/build-push-action@v5
8141
with:
8242
file: ${{ matrix.image }}/Dockerfile
8343
push: true
@@ -86,7 +46,7 @@ jobs:
8646
ADD_WORDLIST_N_RULES=true
8747
8848
build-container:
89-
name: Building CPU and GPU images
49+
name: CPU & GPU
9050
needs: [ build-dependencies ]
9151
strategy:
9252
fail-fast: true
@@ -96,37 +56,36 @@ jobs:
9656
steps:
9757
-
9858
name: Checkout source
99-
uses: actions/checkout@v3
59+
uses: actions/checkout@v4
60+
61+
-
62+
name: Set up Docker Buildx
63+
uses: docker/setup-buildx-action@v3
10064

10165
-
10266
name: Login to ghcr.io
103-
uses: docker/login-action@v2
67+
uses: docker/login-action@v3
10468
with:
10569
registry: ghcr.io
10670
username: yimura
10771
password: ${{ secrets.PACKAGE_WRITE_TOKEN }}
10872

109-
-
110-
name: Build and push container
111-
if: steps.changes.outputs.${{ matrix.image }} == 'true'
112-
uses: docker/build-push-action@v4
113-
with:
114-
file: ${{ matrix.image }}/Dockerfile
115-
push: true
116-
tags: ghcr.io/yimura/crackerjack-docker:${{ matrix.image }}
117-
11873
-
11974
name: Login to Docker Hub
120-
uses: docker/login-action@v2
75+
uses: docker/login-action@v3
12176
with:
12277
username: yimura
12378
password: ${{ secrets.DOCKER_TOKEN }}
12479

12580
-
126-
name: Build and push container
127-
if: steps.changes.outputs.${{ matrix.image }} == 'true'
128-
uses: docker/build-push-action@v4
81+
name: Build and push to Docker Hub
82+
uses: docker/build-push-action@v5
12983
with:
13084
file: ${{ matrix.image }}/Dockerfile
13185
push: true
13286
tags: yimura/crackerjack-docker:${{ matrix.image }}
87+
88+
-
89+
name: Retag and push to Github Container Registry
90+
run: |
91+
docker buildx imagetools create --tag ghcr.io/yimura/crackerjack-docker:${{ matrix.image }} yimura/crackerjack-docker:${{ matrix.image }}

0 commit comments

Comments
 (0)
Please sign in to comment.