Skip to content

Update aclemons/slackware:current Docker digest to b6b7c91 #1678

Update aclemons/slackware:current Docker digest to b6b7c91

Update aclemons/slackware:current Docker digest to b6b7c91 #1678

Workflow file for this run

---
name: Slackware Docker Images
on:
workflow_dispatch:
schedule:
- cron: 0 3 * * *
push:
branches:
- master
pull_request:
branches:
- master
concurrency:
group: docker-${{ github.head_ref || github.ref_name }}
cancel-in-progress: false
env:
# renovate: datasource=docker depName=alpine versioning=docker
ALPINE_IMAGE: alpine:3.21.0@sha256:21dc6063fd678b478f57c0e13f47560d0ea4eeba26dfc947b2a4f81f686b9f45
ARMEDSLACK_VERSIONS: '["12.2","13.1","13.37"]'
SLACKWAREARM_VERSIONS: '["14.0","14.1","14.2","15.0"]'
SLACKWAREAARCH64_VERSIONS: '["current"]'
PRE_SLACKWARE64_VERSIONS: '["8.1","9.0","9.1","10.0","10.1","10.2","11.0","12.0","12.1","12.2"]'
LATEST_VERSION: '15.0'
REGISTRY_IMAGE: ${{ github.repository_owner }}/slackware
jobs:
docker:
strategy:
matrix:
version: ['8.1', '9.0', '9.1', '10.0', '10.1', '10.2', '11.0', '12.0', '12.1', '12.2', '13.0', '13.1', '13.37', '14.0', '14.1', '14.2', '15.0',
current]
runs-on: ubuntu-24.04
permissions:
packages: write
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
show-progress: false
- name: Prep downloads
run: |
mkdir -p changelogs
- name: Fetch slackware ChangeLog
run: |
curl -s -f -o changelogs/ChangeLog.txt.386 https://slackware.osuosl.org/slackware-${{ matrix.version }}/ChangeLog.txt
- name: Fetch slackware64 ChangeLog
if: false == contains(fromJson(env.PRE_SLACKWARE64_VERSIONS), matrix.version)
run: |
curl -s -f -o changelogs/ChangeLog.txt.amd64 https://slackware.osuosl.org/slackware64-${{ matrix.version }}/ChangeLog.txt
- name: Fetch armedslack ChangeLog
if: contains(fromJson(env.ARMEDSLACK_VERSIONS), matrix.version)
run: |
curl -s -f -o changelogs/ChangeLog.txt.arm https://slackware.uk/slackwarearm/armedslack-${{ matrix.version }}/ChangeLog.txt
- name: Fetch slackwarearm ChangeLog
if: contains(fromJson(env.SLACKWAREARM_VERSIONS), matrix.version)
run: |
curl -s -f -o changelogs/ChangeLog.txt.arm https://slackware.uk/slackwarearm/slackwarearm-${{ matrix.version }}/ChangeLog.txt
- name: Fetch slackwareaarch64 ChangeLog
if: contains(fromJson(env.SLACKWAREAARCH64_VERSIONS), matrix.version)
run: |
curl -s -f -o changelogs/ChangeLog.txt.arm https://slackware.uk/slackwarearm/slackwareaarch64-${{ matrix.version }}/ChangeLog.txt
- name: Cache Base Tarballs
id: cache-base-tarballs
if: github.event_name != 'pull_request'
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: base_tarballs/
key: ${{ runner.os }}-base-tarballs-${{ matrix.version }}-${{ hashFiles('**/changelogs/ChangeLog*', '**/scripts/build_base_image.sh') }}
- name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
- name: Login to GitHub Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build slackware tarball
if: github.event_name == 'pull_request' || steps.cache-base-tarballs.outputs.cache-hit != 'true'
run: |
docker run --privileged --security-opt apparmor:unconfined --rm \
-e RELEASENAME="slackware" -e ARCH="i586" -e VERSION=${{ matrix.version }} -e CHOWN_TO="$(id -u):$(id -g)" \
-v "$(pwd):/data" -v "$(pwd)/scripts:/scripts" ${{ env.ALPINE_IMAGE }} \
sh /scripts/build_base_image.sh
cp slackware-${{ matrix.version }}.tar base_tarballs/
- name: Build slackware64 tarball
if: (github.event_name == 'pull_request' || steps.cache-base-tarballs.outputs.cache-hit != 'true') && false == contains(fromJson(env.PRE_SLACKWARE64_VERSIONS),
matrix.version)
run: |
docker run --privileged --security-opt apparmor:unconfined --rm \
-e RELEASENAME="slackware64" -e ARCH="x86_64" -e VERSION=${{ matrix.version }} -e CHOWN_TO="$(id -u):$(id -g)" \
-v "$(pwd):/data" -v "$(pwd)/scripts:/scripts" ${{ env.ALPINE_IMAGE }} \
sh /scripts/build_base_image.sh
cp slackware64-${{ matrix.version }}.tar base_tarballs/
- name: Build armedslack tarball
if: (github.event_name == 'pull_request' || steps.cache-base-tarballs.outputs.cache-hit != 'true') && contains(fromJson(env.ARMEDSLACK_VERSIONS),
matrix.version)
run: |
CHECKSUMS="yes"
if [ "${{ matrix.version }}" = "13.1" ] ; then
CHECKSUMS="yes-no-checksums-gpg"
fi
docker run --privileged --security-opt apparmor:unconfined --rm \
-e CHECKSUMS="$CHECKSUMS" \
-e RELEASENAME="armedslack" -e ARCH="arm" -e VERSION=${{ matrix.version }} -e CHOWN_TO="$(id -u):$(id -g)" \
-v "$(pwd):/data" -v "$(pwd)/scripts:/scripts" ${{ env.ALPINE_IMAGE }} \
sh /scripts/build_base_image.sh
mv armedslack-${{ matrix.version }}.tar slackwarearm-${{ matrix.version }}.tar
cp slackwarearm-${{ matrix.version }}.tar base_tarballs/
- name: Build slackwarearm tarball
if: (github.event_name == 'pull_request' || steps.cache-base-tarballs.outputs.cache-hit != 'true') && contains(fromJson(env.SLACKWAREARM_VERSIONS),
matrix.version)
run: |
CHECKSUMS="yes"
if [ "${{ matrix.version }}" = "14.1" ] ; then
CHECKSUMS="yes-no-checksums-gpg"
fi
docker run --privileged --security-opt apparmor:unconfined --rm \
-e CHECKSUMS="$CHECKSUMS" \
-e RELEASENAME="slackwarearm" -e ARCH="arm" -e VERSION=${{ matrix.version }} -e CHOWN_TO="$(id -u):$(id -g)" \
-v "$(pwd):/data" -v "$(pwd)/scripts:/scripts" ${{ env.ALPINE_IMAGE }} \
./scripts/build_base_image.sh
cp slackwarearm-${{ matrix.version }}.tar base_tarballs/
- name: Build slackwareaarch64 tarball
if: (github.event_name == 'pull_request' || steps.cache-base-tarballs.outputs.cache-hit != 'true') && contains(fromJson(env.SLACKWAREAARCH64_VERSIONS),
matrix.version)
run: |
docker run --privileged --security-opt apparmor:unconfined --rm \
-e RELEASENAME="slackwareaarch64" -e ARCH="aarch64" -e VERSION=${{ matrix.version }} -e CHOWN_TO="$(id -u):$(id -g)" \
-v "$(pwd):/data" -v "$(pwd)/scripts:/scripts" ${{ env.ALPINE_IMAGE }} \
sh /scripts/build_base_image.sh
cp slackwareaarch64-${{ matrix.version }}.tar base_tarballs/
- name: Restore prerequisites
if: github.event_name != 'pull_request' && steps.cache-base-tarballs.outputs.cache-hit == 'true'
run: |
cp base_tarballs/*tar .
- name: Compute docker platforms
run: |
VERSION="${{ matrix.version }}" ./.github/workflows/bin/configure_docker_platforms.sh
- name: Docker meta
id: meta
uses: docker/metadata-action@369eb591f429131d6889c46b94e711f089e6ca96 # v5.6.1
with:
images: |
${{ env.REGISTRY_IMAGE }}
ghcr.io/${{ env.REGISTRY_IMAGE }}
tags: |
type=raw,value=${{ matrix.version }}
type=raw,value=latest,enable=${{ matrix.version == env.LATEST_VERSION }}
- name: Build and push
if: github.event_name != 'pull_request' && steps.cache-base-tarballs.outputs.cache-hit != 'true'
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
push: true
platforms: ${{ env.docker_platforms }}
cache-from: type=gha
cache-to: type=gha,mode=max
context: .
file: Dockerfile
build-args: |
VERSION=${{ matrix.version }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ steps.meta.outputs.tags }}
- name: Build and test docker
if: github.event_name == 'pull_request'
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
with:
push: false
load: false
platforms: ${{ env.docker_platforms }}
context: .
file: Dockerfile
build-args: |
VERSION=${{ matrix.version }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ steps.meta.outputs.tags }}