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
2 changes: 1 addition & 1 deletion .github/workflows/auto-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
steps:
-
name: Checkout Branch ${{ github.ref_name }}
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Create Pull Request
run: gh pr create -B main --title "${{ github.ref_name }}" --body "Merging branch to create ${{ github.ref_name }}."
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
steps:
-
name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Get repository name
run: echo "REPOSITORY_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
Expand Down Expand Up @@ -61,12 +61,12 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
name: Login to Quay.io Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
registry: quay.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
password: ${{ secrets.QUAY_TOKEN }}
-
name: Build and export
id: docker_export
Expand Down Expand Up @@ -104,14 +104,14 @@ jobs:
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}-dev
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}-dev
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian:debian${{ matrix.debian }}-dev
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}-dev
quay.io/bfren/debian:debian${{ matrix.debian }}-dev
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}-dev
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}-dev
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}-dev
-
name: Build and push default tags
id: docker_build_default
Expand All @@ -130,10 +130,10 @@ jobs:
bfren/debian:${{ steps.version_major.outputs.contents }}-dev
bfren/debian:${{ steps.version_minor.outputs.contents }}-dev
bfren/debian:${{ steps.version.outputs.contents }}-dev
ghcr.io/bfren/debian:dev
ghcr.io/bfren/debian:${{ steps.version_major.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.version_minor.outputs.contents }}-dev
ghcr.io/bfren/debian:${{ steps.version.outputs.contents }}-dev
quay.io/bfren/debian:dev
quay.io/bfren/debian:${{ steps.version_major.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.version_minor.outputs.contents }}-dev
quay.io/bfren/debian:${{ steps.version.outputs.contents }}-dev
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
36 changes: 18 additions & 18 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
-
name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Get repository name
run: echo "REPOSITORY_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
Expand Down Expand Up @@ -63,12 +63,12 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
name: Login to Quay.io Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
registry: quay.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
password: ${{ secrets.QUAY_TOKEN }}
-
name: Build and push
id: docker_build
Expand All @@ -93,16 +93,16 @@ jobs:
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}
bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}
ghcr.io/bfren/debian:debian${{ matrix.debian }}
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}
ghcr.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}
ghcr.io/bfren/debian:debian${{ steps.debian_minor.outputs.contents }}
ghcr.io/bfren/debian:debian${{ steps.debian_minor.outputs.contents }}-${{ steps.version.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}
quay.io/bfren/debian:debian${{ matrix.debian }}
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_major.outputs.contents }}
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version_minor.outputs.contents }}
quay.io/bfren/debian:debian${{ matrix.debian }}-${{ steps.version.outputs.contents }}
quay.io/bfren/debian:debian${{ steps.debian_minor.outputs.contents }}
quay.io/bfren/debian:debian${{ steps.debian_minor.outputs.contents }}-${{ steps.version.outputs.contents }}
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_major.outputs.contents }}
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version_minor.outputs.contents }}
quay.io/bfren/debian:${{ steps.debian_name.outputs.contents }}-${{ steps.version.outputs.contents }}
-
name: Build and push default tags
id: docker_build_default
Expand All @@ -122,10 +122,10 @@ jobs:
bfren/debian:${{ steps.version_major.outputs.contents }}
bfren/debian:${{ steps.version_minor.outputs.contents }}
bfren/debian:${{ steps.version.outputs.contents }}
ghcr.io/bfren/debian:latest
ghcr.io/bfren/debian:${{ steps.version_major.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.version_minor.outputs.contents }}
ghcr.io/bfren/debian:${{ steps.version.outputs.contents }}
quay.io/bfren/debian:latest
quay.io/bfren/debian:${{ steps.version_major.outputs.contents }}
quay.io/bfren/debian:${{ steps.version_minor.outputs.contents }}
quay.io/bfren/debian:${{ steps.version.outputs.contents }}
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
2 changes: 1 addition & 1 deletion .github/workflows/update-readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
shell: bash
-
name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
-
name: Login to DockerHub
uses: docker/login-action@v3
Expand Down
12 changes: 6 additions & 6 deletions 12/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# STAGE 0: store build information
#======================================================================================================================

FROM --platform=${BUILDPLATFORM} ghcr.io/bfren/golang:alpine AS build
FROM --platform=${BUILDPLATFORM} quay.io/bfren/alpine AS build
ARG TARGETPLATFORM

RUN \
Expand All @@ -17,27 +17,27 @@ RUN \
# STAGE 1: load busybox
#======================================================================================================================

FROM ghcr.io/bfren/busybox:1.36.1-debian12.12-250606 AS busybox
FROM quay.io/bfren/busybox:1.36.1-debian12.12-251121 AS busybox


#======================================================================================================================
# STAGE 2: load Nushell
#======================================================================================================================

FROM ghcr.io/bfren/nushell:0.108.0-bookworm-250606 AS nushell
FROM quay.io/bfren/nushell:0.108.0-bookworm-251121 AS nushell


#======================================================================================================================
# STAGE 3: get overlay from Alpine image
#======================================================================================================================

FROM ghcr.io/bfren/alpine AS alpine
FROM quay.io/bfren/alpine AS alpine

WORKDIR /tmp
RUN \
# get the overlay from the Alpine base image
echo "Cloning Alpine overlay." && \
apk add git && git clone --branch v2.9.9 https://github.com/bfren/docker-alpine.git && \
apk add git && git clone --branch v3.0.1 https://github.com/bfren/docker-alpine.git && \
mv docker-alpine/overlay /


Expand Down Expand Up @@ -98,7 +98,7 @@ RUN \
FROM scratch AS final
COPY --from=install / /

LABEL org.opencontainers.image.description="Debian Linux with default Busybox and Nushell installed."
LABEL org.opencontainers.image.description="Debian Linux with Busybox and Nushell installed."
LABEL org.opencontainers.image.source="https://github.com/bfren/docker-debian"

ENV \
Expand Down
2 changes: 1 addition & 1 deletion 13/DEBIAN_MINOR
Original file line number Diff line number Diff line change
@@ -1 +1 @@
13.1
13.2
16 changes: 8 additions & 8 deletions 13/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
# STAGE 0: store build information
#======================================================================================================================

FROM --platform=${BUILDPLATFORM} ghcr.io/bfren/golang:alpine AS build
FROM --platform=${BUILDPLATFORM} quay.io/bfren/alpine AS build
ARG TARGETPLATFORM

RUN \
# save platform and version information to log
echo "Platform: ${TARGETPLATFORM}" >> /log && \
echo "Debian: 13.1" >> /log && \
echo "Debian: 13.2" >> /log && \
echo "Busybox: 1.36.1" >> /log && \
echo "Nushell: 0.108.0" >> /log

Expand All @@ -17,35 +17,35 @@ RUN \
# STAGE 1: load busybox
#======================================================================================================================

FROM ghcr.io/bfren/busybox:1.36.1-debian13.1-250606 AS busybox
FROM quay.io/bfren/busybox:1.36.1-debian13.2-251121 AS busybox


#======================================================================================================================
# STAGE 2: load Nushell
#======================================================================================================================

FROM ghcr.io/bfren/nushell:0.108.0-trixie-250606 AS nushell
FROM quay.io/bfren/nushell:0.108.0-trixie-251121 AS nushell


#======================================================================================================================
# STAGE 3: get overlay from Alpine image
#======================================================================================================================

FROM ghcr.io/bfren/alpine AS alpine
FROM quay.io/bfren/alpine AS alpine

WORKDIR /tmp
RUN \
# get the overlay from the Alpine base image
echo "Cloning Alpine overlay." && \
apk add git && git clone --branch v2.9.9 https://github.com/bfren/docker-alpine.git && \
apk add git && git clone --branch v3.0.1 https://github.com/bfren/docker-alpine.git && \
mv docker-alpine/overlay /


#======================================================================================================================
# STAGE 4: install bfren platform
#======================================================================================================================

FROM debian:13.1-slim AS install
FROM debian:13.2-slim AS install
COPY --from=build /log /etc/bf/BUILD
COPY --from=alpine /overlay /
COPY --from=busybox / /bin
Expand Down Expand Up @@ -98,7 +98,7 @@ RUN \
FROM scratch AS final
COPY --from=install / /

LABEL org.opencontainers.image.description="Debian Linux with default Busybox and Nushell installed."
LABEL org.opencontainers.image.description="Debian Linux with Busybox and Nushell installed."
LABEL org.opencontainers.image.source="https://github.com/bfren/docker-debian"

ENV \
Expand Down
10 changes: 5 additions & 5 deletions Dockerfile.esh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# STAGE 0: store build information
#======================================================================================================================

FROM --platform=${BUILDPLATFORM} ghcr.io/bfren/golang:alpine AS build
FROM --platform=${BUILDPLATFORM} quay.io/bfren/alpine AS build
ARG TARGETPLATFORM

RUN \
Expand All @@ -17,21 +17,21 @@ RUN \
# STAGE 1: load busybox
#======================================================================================================================

FROM ghcr.io/bfren/busybox:<%= ${BUSYBOX_IMAGE} %> AS busybox
FROM quay.io/bfren/busybox:<%= ${BUSYBOX_IMAGE} %> AS busybox


#======================================================================================================================
# STAGE 2: load Nushell
#======================================================================================================================

FROM ghcr.io/bfren/nushell:<%= ${NU_IMAGE} %> AS nushell
FROM quay.io/bfren/nushell:<%= ${NU_IMAGE} %> AS nushell


#======================================================================================================================
# STAGE 3: get overlay from Alpine image
#======================================================================================================================

FROM ghcr.io/bfren/alpine AS alpine
FROM quay.io/bfren/alpine AS alpine

WORKDIR /tmp
RUN \
Expand Down Expand Up @@ -98,7 +98,7 @@ RUN \
FROM scratch AS final
COPY --from=install / /

LABEL org.opencontainers.image.description="Debian Linux with default Busybox and Nushell installed."
LABEL org.opencontainers.image.description="Debian Linux with Busybox and Nushell installed."
LABEL org.opencontainers.image.source="https://github.com/bfren/docker-debian"

ENV \
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.2.2
5.0.0
2 changes: 1 addition & 1 deletion VERSION_MAJOR
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4
5
2 changes: 1 addition & 1 deletion VERSION_MINOR
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.2
5.0
6 changes: 3 additions & 3 deletions generate-dockerfiles.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ set -euo pipefail

docker pull bfren/alpine

ALPINE_BRANCH="v2.9.9"
ALPINE_BRANCH="v3.0.1"
BUSYBOX_VERSION="1.36.1"
BUSYBOX_BUILD="250606"
BUSYBOX_BUILD="251121"
NU_VERSION="0.108.0"
NU_BUILD="250606"
NU_BUILD="251121"
DEBIAN_VERSIONS="12 13"

for V in ${DEBIAN_VERSIONS} ; do
Expand Down
20 changes: 15 additions & 5 deletions overlay/etc/nu/scripts/bf/clean.nu
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,34 @@ use fs.nu
use write.nu

# clean temporary directories, caches and installation files
export def main []: nothing -> nothing {
write debug "Deleting caches." clean
rm --force --recursive /tmp/* /var/lib/apt/lists/* /usr/share/man
export def main [
--caches: list<string> = [ "/var/lib/apt/lists/*" "/usr/share/man" ] # list of cache directories to clean
--tmpdirs: list<string> = [ "/tmp/*" ] # list of temporary directories to clean
]: nothing -> nothing {
# create a merged list of places to clean -
# appending /* to each so we don't delete the actual directories
let ensure_glob = $caches
| append $tmpdirs
| into glob
write debug $"Deleting ($ensure_glob | str join ', ')." clean
rm --force --recursive ...$ensure_glob

# search for .empty files
let files = fs find_name "/" ".empty"
if ($files | is-not-empty) {
write debug "Deleting .empty files." clean
rm --force ...$files
}

if (env check PUBLISHING) {
# remove installation files from published images
if (env check PUBLISHING) and not (env check TESTING) {
write debug "Deleting preinstallation script." clean
rm --force /preinstall

write debug "Deleting tests module." clean
rm --force --recursive /etc/nu/scripts/tests
}

write ok "Done." clean
# return nothing
return
}
2 changes: 1 addition & 1 deletion overlay/etc/nu/scripts/bf/pkg.nu
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def action [
let joined = $args | str join " "
write debug $"($description): ($joined)." $script
try {
with-env { DEBIAN_FRONTEND: "noninteractive" } {
with-env {DEBIAN_FRONTEND: "noninteractive"} {
^apt-get update
^apt-get $cmd -y ...$args
}
Expand Down