Skip to content

refactor(Actions): Rework and optimise job steps #24

refactor(Actions): Rework and optimise job steps

refactor(Actions): Rework and optimise job steps #24

Workflow file for this run

name: Build & Push
on:
push:
# branches:
# - "master"
# paths:
# - "**/Dockerfile"
workflow_dispatch:
permissions:
contents: write
jobs:
build-dependencies:
name: Dependencies
strategy:
fail-fast: true
matrix:
image: [ wordlists, hashcat ]
runs-on: ubuntu-latest
steps:
-
name: Checkout source
uses: actions/checkout@v3
-
name: Build dependency
uses: docker/build-push-action@v5
with:
file: ${{ matrix.image }}/Dockerfile
tags: yimura/crackerjack-docker:${{ matrix.image }}
build-args: |
ADD_WORDLIST_N_RULES=true
outputs: type=docker,dest=/tmp/${{ matrix.image }}.tar
- name: Upload dependency
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.image }}
path: /tmp/${{ matrix.image }}.tar
build-container:
name: CPU & GPU
needs: [ build-dependencies ]
strategy:
fail-fast: true
matrix:
image: [ cpu, nvidia ]
runs-on: ubuntu-latest
steps:
-
name: Checkout source
uses: actions/checkout@v3
- name: Download hashcat dependency
uses: actions/download-artifact@v3
with:
name: hashcat
path: /tmp
- name: Download wordlists dependency
uses: actions/download-artifact@v3
with:
name: wordlists
path: /tmp
- name: Load hashcat dependecy
run: docker load --input /tmp/hashcat.tar
- name: Load wordlists dependecy
run: docker load --input /tmp/wordlists.tar
-
name: Login to ghcr.io
uses: docker/login-action@v2
with:
registry: ghcr.io
username: yimura
password: ${{ secrets.PACKAGE_WRITE_TOKEN }}
-
name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: yimura
password: ${{ secrets.DOCKER_TOKEN }}
-
name: Build and push to Docker Hub
uses: docker/build-push-action@v4
with:
file: ${{ matrix.image }}/Dockerfile
push: true
tags: yimura/crackerjack-docker:${{ matrix.image }}
-
name: Retag and push to Github Container Registry
run: |
docker buildx imagetools create --tag ghcr.io/yimura/crackerjack-docker:${{ matrix.image }} yimura/crackerjack-docker:${{ matrix.image }}