-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI: import all Dockerfiles used for CI/CD
It's not the simplest choice, but it makes the code infrastructure more complete and self-contained. Signed-off-by: Claudio André <[email protected]>
- Loading branch information
1 parent
63aa670
commit 8ec0648
Showing
9 changed files
with
360 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
name: Publish Docker image | ||
|
||
on: | ||
push: | ||
branches: [images] | ||
workflow_dispatch: | ||
|
||
env: | ||
REPO: ghcr.io/${{ github.repository_owner }}/john-ci | ||
|
||
permissions: read-all | ||
jobs: | ||
build: | ||
name: Build Docker image | ||
runs-on: ubuntu-latest | ||
continue-on-error: true | ||
|
||
strategy: | ||
matrix: | ||
include: | ||
- image-tag: fedora.latest | ||
dockerfile: Dockerfile.FLatest | ||
- image-tag: fedora.flatpak | ||
dockerfile: Dockerfile.flatpak.package | ||
- image-tag: ubuntu.opencl | ||
dockerfile: Dockerfile.OpenCL | ||
- image-tag: ubuntu.devel | ||
dockerfile: Dockerfile.UbuntuDevel | ||
- image-tag: ubuntu.rolling | ||
dockerfile: Dockerfile.UbuntuRolling | ||
- image-tag: redhat.ubi8 | ||
dockerfile: Dockerfile.RHUbi8 | ||
|
||
permissions: | ||
packages: write | ||
contents: read | ||
|
||
outputs: | ||
image: ${{ steps.build-and-push.outputs.tag }} | ||
digest: ${{ steps.build-and-push.outputs.digest }} | ||
|
||
steps: | ||
- name: Check out the repo | ||
uses: actions/checkout@v4 | ||
|
||
- name: Log in to GitHub Docker Registry | ||
uses: docker/login-action@v3 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build container image | ||
id: build-and-push | ||
uses: docker/build-push-action@v5 | ||
with: | ||
push: false | ||
file: "${{ github.workspace }}/CI/Dockerfiles/${{ matrix.dockerfile }}" | ||
tags: | | ||
${{ env.REPO }}:${{ matrix.image-tag }} | ||
${{ env.REPO }}:${{ matrix.image-tag }}J${{ github.run_number }} | ||
provenance: | ||
if: ${{ false }} | ||
needs: [build] | ||
permissions: | ||
actions: read # for detecting the GitHub Actions environment. | ||
id-token: write # for creating OIDC tokens for signing. | ||
packages: write # for uploading attestations. | ||
uses: slsa-framework/slsa-github-generator/.github/workflows/[email protected] | ||
with: | ||
image: ${{ needs.build.outputs.image }} | ||
digest: ${{ needs.build.outputs.digest }} | ||
registry-username: ${{ github.actor }} | ||
secrets: | ||
registry-password: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2017-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM fedora:latest | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Fedora Latest)" | ||
|
||
RUN dnf -y -q update && \ | ||
dnf -y install \ | ||
@development-tools openssl-devel gmp-devel libpcap-devel bzip2-devel wget \ | ||
clang libasan libubsan libtsan american-fuzzy-lop zzuf pocl-devel \ | ||
american-fuzzy-lop-clang && \ | ||
useradd -U -m JtR | ||
|
||
USER JtR | ||
ENV BASE fedora | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2017-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM ubuntu:23.04 | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Ubuntu 23 OpenCL)" | ||
|
||
RUN apt-get update -qq && \ | ||
apt-get install -y \ | ||
build-essential libssl-dev yasm libgmp-dev libpcap-dev pkg-config debhelper libnet1-dev \ | ||
libbz2-dev wget llvm libomp-dev zlib1g-dev git clang afl zzuf \ | ||
libpocl-dev ocl-icd-opencl-dev ocl-icd-libopencl1 pocl-opencl-icd opencl-headers && \ | ||
useradd -U -m JtR | ||
|
||
# USER JtR => it is much better to use root on Travis | ||
ENV BASE ubuntu | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2023-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM ubuntu:22.04 | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Ubuntu 22 Intel OpenCL)" | ||
|
||
RUN apt-get update -qq \ | ||
&& apt-get install -y \ | ||
build-essential libssl-dev zlib1g-dev yasm libgmp-dev libpcap-dev \ | ||
pkg-config libbz2-dev wget \ | ||
ocl-icd-opencl-dev clinfo git \ | ||
&& wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ | ||
| gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null \ | ||
&& echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | ||
| tee /etc/apt/sources.list.d/oneAPI.list \ | ||
&& apt-get update -qq \ | ||
&& apt-get install -y \ | ||
intel-oneapi-runtime-opencl intel-basekit \ | ||
&& useradd -U -m JtR \ | ||
&& apt-get -y clean \ | ||
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* | ||
|
||
# Workaround for an issue in Intel libraries installation script | ||
ENV LD_LIBRARY_PATH=/opt/intel/oneapi/2024.0/lib/:"$LD_LIBRARY_PATH" | ||
ENV BASE ubuntu | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM registry.access.redhat.com/ubi8/ubi | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Red Hat 8)" | ||
|
||
RUN yum -y -q update && \ | ||
yum -y install \ | ||
openssl-devel gmp-devel libpcap-devel bzip2-devel wget gcc git perl && \ | ||
useradd -U -m JtR | ||
|
||
ENV BASE RedHat-UBI | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2017-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM ubuntu:devel | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Ubuntu Devel)" | ||
|
||
RUN apt-get update -qq && \ | ||
export DEBIAN_FRONTEND="noninteractive" && \ | ||
apt-get install -y \ | ||
build-essential libssl-dev yasm libgmp-dev libpcap-dev pkg-config debhelper libnet1-dev \ | ||
libbz2-dev wget llvm libomp-dev zlib1g-dev git clang && \ | ||
useradd -U -m JtR | ||
|
||
# USER JtR => it is much better to use root on Travis | ||
ENV BASE ubuntu | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2017-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM ubuntu:rolling | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Ubuntu Rolling)" | ||
|
||
RUN apt-get update -qq && \ | ||
export DEBIAN_FRONTEND="noninteractive" && \ | ||
apt-get install -y \ | ||
build-essential libssl-dev yasm libgmp-dev libpcap-dev pkg-config debhelper libnet1-dev \ | ||
libbz2-dev wget llvm libomp-dev zlib1g-dev git clang \ | ||
libusb-1.0-0-dev && \ | ||
useradd -U -m JtR | ||
|
||
# USER JtR => it is much better to use root on Travis | ||
ENV BASE ubuntu | ||
CMD /bin/bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
############################################################################### | ||
# _ _ _ _ _____ _ | ||
# | | | | | | | | | __ \(_) | ||
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __ | ||
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__| | ||
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ | | ||
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_| | ||
# | | | | | ||
# |_| |_| | ||
# | ||
# Copyright (c) 2017-2024 Claudio André <[email protected]> | ||
# | ||
# This program comes with ABSOLUTELY NO WARRANTY; express or implied. | ||
# | ||
# This program is free software: you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation, as expressed in version 2, seen at | ||
# http://www.gnu.org/licenses/gpl-2.0.html | ||
############################################################################### | ||
# Dockerfile for Continuous Integration | ||
# More info at https://github.com/openwall/john-packages | ||
|
||
FROM fedora:latest | ||
LABEL org.opencontainers.image.authors="Claudio André <[email protected]>" | ||
LABEL description="Docker images for John the Ripper CI (1.0.Fedora Latest Flatpak)" | ||
|
||
RUN dnf -y -q update && \ | ||
dnf -y install \ | ||
flatpak flatpak-builder elfutils wget git && \ | ||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo && \ | ||
flatpak install -y flathub org.freedesktop.Platform//23.08 org.freedesktop.Sdk//23.08 && \ | ||
useradd -U -m JtR | ||
|
||
USER JtR | ||
ENV BASE fedora | ||
CMD /bin/bash |
8ec0648
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@check-spelling-bot Report
🔴 Please review
See the 📜action log or 📝 job summary for details.
Unrecognized words (11)
Previously acknowledged words that are now absent
archs 🫥To accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands
... in a clone of the [email protected]:openwall/john-packages.git repository
on the
images
branch (ℹ️ how do I use this?):Available 📚 dictionaries could cover words (expected and unrecognized) not in the 📘 dictionary
This includes both expected items (224) from .github/actions/spelling/expect.txt and unrecognized words (11)
Consider adding them (in
.github/workflows/spelling.yml
) foruses: check-spelling/check-spelling@26b46adbdebd5dd0b34c7155113d50c40f43fb22
in itswith
:To stop checking additional dictionaries, add (in
.github/workflows/spelling.yml
) foruses: check-spelling/check-spelling@26b46adbdebd5dd0b34c7155113d50c40f43fb22
in itswith
:Errors (1)
See the 📜action log or 📝 job summary for details.
See ❌ Event descriptions for more information.