volker.raschek aff8d976d0
Lint Markdown files / markdown-lint (push) Successful in 10s
Release / push-amd64 (push) Successful in 5m35s
Release / sync-to-hub-docker-io (push) Successful in 16m29s
chore(ci): authenticate against harbor.cryptic.systems before pulling binfmt
The workflows pulled tonistiigi/binfmt through an unauthenticated request, either directly from docker.io or from
harbor.cryptic.systems before any credentials had been configured. Both variants are subject to upstream rate limiting
and made the multi arch builds fail sporadically.

The docker/login-action steps are now placed in front of docker/setup-qemu-action and docker/setup-buildx-action, and a
second login against harbor.cryptic.systems was added so that the binfmt image is always pulled from the internal
registry with valid credentials. Leftover setup-qemu-action and setup-buildx-action steps from the previous ordering
were removed.

All pinned actions were additionally bumped to their latest upstream release to remove the version drift between the
repositories.
2026-09-02 20:50:40 +02:00
2019-04-18 18:48:31 +02:00
2019-04-18 18:48:31 +02:00
2022-04-02 16:41:35 +02:00
2023-07-23 11:17:14 +02:00

build-image

Docker Pulls

This project contains all sources to build the container image git.cryptic.systems/volker.raschek/build-image. The primary goal of the image is only to provide an environment to compile source code for go or rust and package compiled binaries as PKG for Arch Linux or as RPM for RHEL based distributions.

Supported environment variables

gnupg

GNUPG_KEY

Import private gpg key via GPG_KEY. The private key must be escaped to import the key inside the container image correctly. For example:

GPG_FPR=YOUR_GPG_FINGERPRINT
GPG_KEY=$(gpg --armor --export-secret-keys ${GPG_FPR} | cat -e | sed -e 's/\$/\\n/g' -e 's/^[ \t]*//g')

makepkg

The makepkg.conf configuration is composed from the environment variables with the prefix MAKEPKG_. Below are some examples:

MAKEPKG_PACKAGER="Hugo McKinnock <hugo.mckinnock@example.local>" MAKEPKG_GPGKEY="0123456789" MAKEPKG_PKGEXT=.pkg.tar.zst"

ssh

SSH_KEY

Import private ssh key via SSH_KEY. The private key must be escaped to import the key inside the container image correctly. For example:

SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')

Usage

golang

To use this image for building golang applications execute this in your root folder of your go project.

$ docker run \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      go build

makepkg

With the following example will be an package be build for Arch Linux. Execute the commond in the root directory of the project, where the PKGBUILD file is located.

$ docker run \
    --env MAKEPKG_PACKAGER="Max Mustermann <max.mustermann@example.com" \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      makepkg

rust

If you want to compile instead go rust sourcecode, than you can do it similar to the golang example.

$ docker run \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      cargo build --release
S
Description
build sources for container to provide an build environment for go and rust projects
https://hub.docker.com/r/volkerraschek/build-image/
Readme
241 KiB
Languages
Shell 64.2%
Makefile 21.1%
Dockerfile 14.7%