Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions .github/workflows/docker-autobuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: HyperCPU CI/CD Pipeline (update Docker images)

on:
schedule:
- cron: "0 0 */7 * *"

permissions:
contents: read


jobs:
build:
runs-on: ubuntu-latest
name: "Update ${{ matrix.config.name }} Docker image"
strategy:
matrix:
config:
- tag: fedora
name: Fedora
- tag: debian-stable
name: Debian Stable
- tag: debian-unstable
name: Debian Unstable
- tag: archlinux
name: Arch Linux
- tag: gentoo-glibc
name: Gentoo GLibc
- tag: alpine
name: Alpine
- tag: ubuntu
name: Ubuntu

steps:
- name: Install Docker Buildx
uses: docker/setup-buildx-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/setup-buildx-action' with ref 'v3', not a pinned commit hash

- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
with:
username: hyperwin
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
with:
context: "{{ defaultContext }}:docker/${{ matrix.config.tag }}"
push: true
tags: hyperwin/hcpu-ci:${{ matrix.config.tag }}

build-gentoo-musl-stage1:
runs-on: ubuntu-latest
name: "Update Gentoo Musl Docker image - stage 1"
steps:
- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
with:
username: hyperwin
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
with:
context: "{{ defaultContext }}:docker/gentoo-musl/stage1"
push: true
tags: hyperwin/hcpu-ci:gentoo-musl-build

build-gentoo-musl-stage2:
runs-on: ubuntu-latest
name: "Update Gentoo Musl Docker image - stage 2"
needs: build-gentoo-musl-stage1
steps:
- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
with:
username: hyperwin
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
with:
context: "{{ defaultContext }}:docker/gentoo-musl/stage2"
push: true
tags: hyperwin/hcpu-ci:gentoo-musl

4 changes: 4 additions & 0 deletions docker/alpine/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM alpine:latest

RUN apk update && \
apk add clang gcc git cmake make gtest-dev gtest-src re2 re2-dev fmt fmt-dev nodejs grep
3 changes: 3 additions & 0 deletions docker/archlinux/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM archlinux:latest

RUN pacman -Syu cmake git clang gcc gtest re2 fmt base-devel nodejs --noconfirm
4 changes: 4 additions & 0 deletions docker/debian-stable/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM debian

RUN apt update && \
apt install git cmake clang libre2-9 libre2-dev libfmt9 libfmt-dev libgtest-dev googletest gnu-which nodejs -y
4 changes: 4 additions & 0 deletions docker/debian-unstable/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM debian:unstable

RUN apt update && \
apt install git cmake clang libre2-11 libre2-dev libfmt10 libfmt-dev libgtest-dev googletest gnu-which nodejs -y
5 changes: 5 additions & 0 deletions docker/fedora/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM fedora

RUN dnf update -y && \
dnf install clang clang-libs gcc gtest gtest-devel fmt fmt-devel re2 re2-devel gtest gtest-devel git cmake libasan which nodejs -y

5 changes: 5 additions & 0 deletions docker/gentoo-glibc/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM gentoo/stage3:systemd

RUN emerge --sync > /dev/null && \
getuto && \
emerge llvm-core/clang cmake dev-vcs/git re2 libfmt gtest which nodejs --getbinpkg -j2
5 changes: 5 additions & 0 deletions docker/gentoo-glibc/Dockerfile.save
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM gentoo/stage3:systemd

RUN emerge --sync
RUN getuto
RUN emerge llvm-core/clang cmake gtest re2 libfmt dev-vcs/git --getbinpkg
6 changes: 6 additions & 0 deletions docker/gentoo-musl/stage1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM gentoo/stage3:musl

RUN emerge --sync > /dev/null && \
getuto && \
sed -i 's/^MAKEOPTS=".*"/MAKEOPTS="& -j8"/' /etc/portage/make.conf && \
emerge llvm-core/llvm cmake gtest re2 libfmt dev-vcs/git --getbinpkg
3 changes: 3 additions & 0 deletions docker/gentoo-musl/stage2/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM hyperwin/hcpu-ci:gentoo-musl-build

RUN emerge llvm-core/clang --getbinpkg
4 changes: 4 additions & 0 deletions docker/ubuntu/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM ubuntu:latest

RUN apt update && \
apt install git cmake clang libre2-10 libre2-dev libfmt9 libfmt-dev libgtest-dev googletest gnu-which nodejs -y
Empty file removed test.cpp
Empty file.