GCC toolchain with sccache, the mold linker and per-arch tuned flags, plus gdb, cmake, ninja and valgrind.
  • Shell 70.1%
  • Dockerfile 10.9%
  • Makefile 9.7%
  • Jinja 9.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Damián Búho 995ec1dc9e
All checks were successful
published / release-tag (push) Successful in 1s
published / runner-is-ready (push) Successful in 4s
published / projectfile-is-valid (push) Successful in 4s
published / source-is-compliant (push) Successful in 7s
published / source-is-secure (push) Successful in 9s
published / source-passes-lint (push) Successful in 39s
published / documentation-passes-lint (push) Successful in 56s
published / projectfile-is-ok (push) Successful in 5s
published / image-is-built (15, amd64) (push) Successful in 1m47s
published / image-is-built (16, amd64) (push) Successful in 1m49s
published / container-is-verified (15, amd64) (push) Successful in 2m0s
published / container-is-verified (16, amd64) (push) Successful in 2m11s
published / image-is-secure (15, amd64) (push) Successful in 45s
published / image-is-secure (16, amd64) (push) Successful in 1m7s
published / image-is-published (15, dockerhub) (push) Successful in 13s
published / image-is-published (16, dockerhub) (push) Successful in 24s
published / image-is-published (15, kiota) (push) Successful in 27s
published / image-is-published (16, kiota) (push) Successful in 50s
published / release-is-published (push) Has been skipped
published / release-notes-are-published (push) Has been skipped
published / published (push) Successful in 0s
chore(makefile): sync m6e submodules
core: 13.3.0
#m6e #auto
2026-10-26 15:55:02 -03:00
.compose chore: init 2026-08-05 23:00:22 -03:00
.container fix(build): fall back to ccache when sccache cannot run 2026-09-15 17:20:47 -03:00
.forgejo/workflows build(workflows): enable zstd in artifacts 2026-10-26 14:24:33 -03:00
.github/workflows build(workflows): enable zstd in artifacts 2026-10-26 14:24:33 -03:00
.makefile chore(makefile): sync m6e submodules 2026-10-26 15:55:02 -03:00
docs chore(docs): regen features 2026-10-26 04:14:40 -03:00
LICENSES chore: init 2026-08-05 23:00:22 -03:00
scaffold perf(container): declare M6E_VERSION next to the user stage 2026-10-08 02:08:06 -03:00
.claudeignore chore: sorting for claudeignore 2026-09-13 12:48:01 -03:00
.containerignore build: ignore .worktrees (oci/docker) 2026-09-29 23:59:06 -03:00
.dockerignore build: ignore .worktrees (oci/docker) 2026-09-29 23:59:06 -03:00
.gitattributes chore: clean j2 from attributes 2026-09-14 00:36:20 -03:00
.gitignore build: ignore .worktrees 2026-09-29 23:56:04 -03:00
.gitmodules build: hard .gitmodules before big refactoring of m6e 2026-09-02 18:39:49 -03:00
.grype.yaml fix(security): regenerate scanner suppressions for linux-libc-dev kernel CVEs 2026-10-21 14:12:17 -03:00
.trivyignore fix(security): regenerate scanner suppressions for linux-libc-dev kernel CVEs 2026-10-21 14:12:17 -03:00
.yamllint chore(makefile): sync m6e submodules 2026-09-18 00:18:48 -03:00
AGENTS.md docs: name series images by their variant tag 2026-09-30 23:15:40 -03:00
AI_POLICY.md chore(style): unify project naming schema 2026-09-13 14:45:25 -03:00
CITATION.cff chore(version): 0.8.14 2026-10-21 15:31:45 -03:00
CLAUDE.md chore: init 2026-08-05 23:00:22 -03:00
CODE_OF_CONDUCT.md chore(style): unify project naming schema 2026-09-13 14:45:25 -03:00
CODEOWNERS chore: init 2026-08-05 23:00:22 -03:00
CONTRIBUTING.md chore: regenerate contributing 2026-09-30 06:39:10 -03:00
Dockerfile perf(container): declare M6E_VERSION next to the user stage 2026-10-08 02:08:06 -03:00
lefthook.yaml chore: regenerate lefthook.yaml 2026-09-29 22:28:36 -03:00
LICENSE chore: init 2026-08-05 23:00:22 -03:00
Makefile feat(image): publish every series as a tag of one repository 2026-09-30 18:03:49 -03:00
osv-scanner.toml fix(security): regenerate scanner suppressions for linux-libc-dev kernel CVEs 2026-10-21 14:12:17 -03:00
projectfile.yaml chore(version): 0.8.14 2026-10-21 15:31:45 -03:00
README.md fix: refactor CI workflows (new goals + preflight checks) 2026-10-18 17:18:22 -03:00
SECURITY.md fix(security): regenerate scanner suppressions for linux-libc-dev kernel CVEs 2026-10-21 14:12:17 -03:00
SUPPORT.md feat(forge): declare and publish to GitHub 2026-09-14 03:15:53 -03:00

Español · Українська

B19 / GCC

GCC toolchain with sccache, the mold linker and per-arch tuned flags, plus gdb, cmake, ninja and valgrind.

Stand with Ukraine Projectfile inside License PRs welcome REUSE compliance

Project status Last commit on GitHub Last commit on kiota.ch

Publish pipeline on GitHub Vulnerability audit on GitHub Dependency freshness on GitHub Analysis sweep on GitHub

Publish pipeline on kiota.ch Vulnerability audit on kiota.ch Dependency freshness on kiota.ch Analysis sweep on kiota.ch

Features

  • Architecture-specific optimization flags with compile-time probing
  • Transparent compiler caching (sccache / ccache)
  • GCC toolchain from APT with series selection

It also inherits the features of B19 / Ubuntu — see Features for the full list.

What this provides

  • Container image ghcr.io/damian-buho/b19/gcc:gcc16
  • Container image ghcr.io/damian-buho/b19/gcc:gcc15
  • Container image damianbuho/b19-gcc:gcc16
  • Container image damianbuho/b19-gcc:gcc15

Installation

Pull the published container image:

Pull from GHCR — linux/amd64, linux/arm64, linux/riscv64

docker pull ghcr.io/damian-buho/b19/gcc:gcc16

Pull from DockerHub — linux/amd64

docker pull damianbuho/b19-gcc:gcc16

Series: gcc16 | gcc15

Stable releases also publish X.Y.Z, X.Y and X tags — pull the precision you want to pin.

If the registries above are unreachable, pull from the origin instead:

Pull from Kiota — linux/amd64

docker pull kiota.ch/b19/gcc:gcc16

Series: gcc16 | gcc15

Usage

Build on top of this image:

From GHCR

FROM ghcr.io/damian-buho/b19/gcc:gcc16

From DockerHub

FROM damianbuho/b19-gcc:gcc16

Series: gcc16 | gcc15

For the recommended multi-stage pattern and the build-hook system (build.d), scaffold a derivative with b19/scripts/scaffold.sh from m6e/b19.

Building

Clone the repository with its submodules:

git clone --recurse-submodules https://github.com/damian-buho/b19-gcc gcc && cd gcc

Build the container image locally:

make container-build

Run make with no arguments for the default target; run make help to list every target.

For the local dev loop, make dev-container brings up the dev-container.

Pipeline entry points:

  • make analyzed — Run the heavy analysis sweep (mutation testing, benchmarks)
  • make audited — Re-scan the pinned dependencies and published artifacts for new vulnerabilities
  • make check-outdated — Report every pinned dependency that lags upstream
  • make release-is-ready — Run the pseudo-CI pipeline locally — build, test and scan, without publishing

Policies

License

This project is licensed under MIT — see the LICENSE file for details.