Compare commits

...

26 Commits

Author SHA1 Message Date
surtur 30419ebfc3
ci,dockerile,makefile: use FQ image paths
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-18 15:02:18 +02:00
surtur 584e8c97a5
ci: switch from hourly to nightly builds
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-18 14:21:55 +02:00
surtur 3d38d7a5ff
makefile, ci: bump hadolint to v2.12.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-18 14:11:14 +02:00
surtur e52089322f
chore: update readme [skip ci] 2023-10-18 13:57:14 +02:00
surtur 1161612ef2
dockerfile: add proper OCI annotations
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-10 16:19:53 +02:00
surtur 33790a3be4
readme: deprecate 'docker build' badge [skip ci] 2022-10-10 15:05:58 +02:00
surtur 9d50738195
ci: start signing .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2022-09-08 14:34:22 +02:00
surtur 6d1e164bb3
makefile: SELinux-related fix for hadolint
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-21 14:18:16 +02:00
surtur 68ac3ba380
fix: make kaniko work on SELinux-enabled systems
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-21 14:15:32 +02:00
surtur a8f514fed8
makefile: bump kaniko to v1.8.1-debug [skip ci] 2022-04-21 14:14:18 +02:00
surtur b6d194191d
makefile: separate hadolint tag into its own var
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-24 16:38:15 +01:00
surtur 85d8cf5359
refactor: consolidate consecutive RUN options
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-24 16:33:28 +01:00
surtur 1a80496abd
ci,makefile: bump hadolint to v2.9.3-alpine
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-24 16:24:28 +01:00
surtur ea4edd505b
ci: bump hadolint to v2.9.2-alpine
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-23 16:55:42 +01:00
surtur fdc5dd6f1c
makefile: bump kaniko executor to v1.8.0-debug
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-23 16:54:50 +01:00
surtur fcd83eb9c5
makefile: bump kaniko executor to v1.7.0-debug
[skip ci]
2021-12-04 15:12:24 +01:00
surtur b92babe0e9
ci: bump hadolint to v2.8.0
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-16 23:04:24 +01:00
surtur 6f62b808d7
fix(kaniko): supply build args {in ci,locally}
All checks were successful
continuous-integration/drone/push Build is passing
since the switch to kaniko as a container image builder, proper
BUILD_DATE and VCS_REF values previously filled in by a build hook were
left empty. that changes now.
2021-10-20 00:18:19 +02:00
surtur 01c9a0fbc4
add Makefile for easy local testing
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-30 13:15:26 +02:00
surtur 866b668074
chore(ci): bump hadolint to tag 'v2.7.0-alpine'
All checks were successful
continuous-integration/drone/push Build is passing
add ignore of the multiple consecutive 'RUN' statements notice
2021-09-30 13:13:03 +02:00
surtur be7d4b9716
chore(hadolint): unignore;base-devel is pinned now
All checks were successful
continuous-integration/drone/push Build is passing
the ignore was in place due to a latest tag being utilised in the past
2021-09-30 13:04:33 +02:00
surtur 75e7bade0c
feat: switch to 'base-devel' tag
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-30 12:49:39 +02:00
surtur 1cf40505fd
update docker frontend to version 1.3
All checks were successful
continuous-integration/drone/push Build is passing
2021-09-30 12:48:45 +02:00
surtur 2a068ab9de
readme: microbadger is no more [skip ci] 2021-07-16 13:23:26 +02:00
surtur 4dfede6778
chore: update README badges [skip ci] 2021-05-05 02:54:27 +02:00
surtur 4bc7b193c4
ci: use linux-amd64 stable tag
All checks were successful
continuous-integration/drone/push Build is passing
the tag's also moving but efforts are made to only push working code
there so it should do in terms of stability
2021-05-02 03:57:38 +02:00
5 changed files with 81 additions and 30 deletions

View File

@ -10,7 +10,7 @@ platform:
steps:
- name: hadolint
pull: always
image: hadolint/hadolint:v1.23.0-8-gb01c5a9-alpine
image: docker.io/hadolint/hadolint:v2.12.0-alpine
commands:
- hadolint --version
- hadolint Dockerfile
@ -25,10 +25,13 @@ steps:
- name: kaniko-build
pull: always
image: immawanderer/drone-kaniko:efd19c50
image: docker.io/immawanderer/drone-kaniko:linux-amd64
settings:
dockerfile: Dockerfile
context: .
args:
- BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
- VCS_REF=${DRONE_COMMIT_SHA:0:7}
when:
ref:
- "refs/heads/feature-**"
@ -39,10 +42,13 @@ steps:
- name: kaniko-publish
pull: always
image: immawanderer/drone-kaniko:efd19c50
image: docker.io/immawanderer/drone-kaniko:linux-amd64
settings:
dockerfile: Dockerfile
context: .
args:
- BUILD_DATE="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
- VCS_REF=${DRONE_COMMIT_SHA:0:7}
tags:
- latest
- linux-amd64
@ -88,7 +94,7 @@ depends_on:
steps:
- name: discord
pull: if-not-exists
image: appleboy/drone-discord:latest
image: docker.io/appleboy/drone-discord:latest
settings:
message: "{{#success build.status}} ✅ [Build #{{build.number}}]({{build.link}}) of `{{repo.name}}` succeeded.\nevent: **`{{build.event}}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n```{{commit.message}}``` {{else}} ❌ [Build #{{build.number}}]({{build.link}}) of `{{repo.name}}` failed.\nevent: **`${DRONE_BUILD_EVENT}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n```{{commit.message}}``` {{/success}}\n"
webhook_id:
@ -113,7 +119,7 @@ trigger:
event:
- cron
cron:
- hourly-build
- nightly-build
status:
- success
- failure
@ -124,10 +130,16 @@ depends_on:
steps:
- name: discord
pull: always
image: appleboy/drone-discord:latest
image: docker.io/appleboy/drone-discord:latest
settings:
message: "{{#success build.status}} ✅ [Hourly build #{{build.number}}]({{build.link}}) of `{{repo.name}}` succeeded.\nevent: **`{{build.event}}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n {{else}} ❌ [Hourly build #{{build.number}}]({{build.link}}) of `{{repo.name}}` failed.\nevent: **`${DRONE_BUILD_EVENT}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n {{/success}}\n"
message: "{{#success build.status}} ✅ [Scheduled build #{{build.number}}]({{build.link}}) of `{{repo.name}}` succeeded.\nevent: **`{{build.event}}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n {{else}} ❌ [Scheduled build #{{build.number}}]({{build.link}}) of `{{repo.name}}` failed.\nevent: **`${DRONE_BUILD_EVENT}`**\ncommit [`${DRONE_COMMIT_SHA:0:7}`](https://git.dotya.ml/${DRONE_REPO}/commit/${DRONE_COMMIT_SHA}) by {{commit.author}} on `{{commit.branch}}`\n {{/success}}\n"
webhook_id:
from_secret: discord_webhook_hourly_id
webhook_token:
from_secret: discord_webhook_hourly_token
---
kind: signature
hmac: bc36fd53d1d57053f660e05df07722e8cb2e82edc732ec8898d7308ad891b905
...

View File

@ -1,3 +1,2 @@
---
ignored:
# ad "DL3007 archlinux is always updating
- DL3007

View File

@ -1,25 +1,35 @@
# syntax=docker/dockerfile:1.2
# syntax=docker/dockerfile:1.3
# refs:
# https://docs.docker.com/develop/develop-images/build_enhancements/#overriding-default-frontends
# https://pythonspeed.com/articles/docker-buildkit/
FROM archlinux:latest
FROM docker.io/library/archlinux:base-devel
ARG BUILD_DATE
ARG VCS_REF
LABEL description="Hourly updated archlinux base image"
LABEL org.label-schema.build-date=$BUILD_DATE \
# as per https://github.com/opencontainers/image-spec/blob/main/annotations.md,
# keep Label Schema labels for backward compatibility.
LABEL description="hourly updated archlinux base(-devel) image" \
org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://git.dotya.ml/wanderer/docker-archlinux.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.license=GPL-3.0
org.label-schema.license=GPL-3.0 \
org.opencontainers.image.title="docker-archlinux" \
org.opencontainers.image.description="hourly updated archlinux base(-devel) image" \
org.opencontainers.image.created=$BUILD_DATE \
org.opencontainers.image.authors=wanderer \
org.opencontainers.image.url="https://git.dotya.ml/wanderer/docker-archlinux.git" \
org.opencontainers.image.source="https://git.dotya.ml/wanderer/docker-archlinux.git" \
org.opencontainers.image.revision=$VCS_REF \
org.opencontainers.image.licenses=GPL-3.0
# if you need the WORKAROUND for glibc 2.33 and old Docker
# have a look at https://git.dotya.ml/wanderer/docker-archlinux/commit/bd4c5abe4dca475965548cb8332ef9b9d2a4953c
RUN pacman --version
RUN pacman -Syu --noconfirm --needed
RUN pacman --noconfirm -Rn "$(pacman -Qdtq)" || true
RUN pacman -Scc && rm -rf /var/cache/pacman/* /var/lib/pacman/sync/*
RUN pacman --version && \
\
\
pacman -Syu --noconfirm --needed && \
pacman --noconfirm -Rn "$(pacman -Qdtq)" || true && \
pacman -Scc && rm -rf /var/cache/pacman/* /var/lib/pacman/sync/*

34
Makefile Normal file
View File

@ -0,0 +1,34 @@
dcmd = docker
dfile = Dockerfile
dtag = immawanderer/archlinux:testbuild
dargs = build -t $(dtag) --no-cache --pull - < $(dfile)
cleanargs = image rm -f $(dtag)
pruneargs = system prune -af
dargskaniko = run --rm -it -w=$(kanikowdir) -v $$PWD:$(kanikowdir):z
kanikoexecutorimg = gcr.io/kaniko-project/executor:v1.8.1-debug
kanikowdir = /src
kanikocontext = .
kanikoargs = -f=$(dfile) -c=$(kanikocontext) --use-new-run --snapshotMode=redo --build-arg BUILD_DATE=$(build_date) --build-arg VCS_REF=$(vcs_ref) --no-push
vcs_ref = $$(git rev-parse --short HEAD)
build_date= $$(date -u +"%Y-%m-%dT%H:%M:%SZ")
hadolintimg = docker.io/hadolint/hadolint
hadolinttag = v2.12.0-alpine
hadolintargs = run --rm -i -v $$PWD:/src:z --workdir=/src
.PHONY: hadolint build kaniko clean test prune
hadolint:
$(dcmd) $(hadolintargs) $(hadolintimg):$(hadolinttag) < $(dfile)
kaniko:
$(dcmd) $(dargskaniko) $(kanikoexecutorimg) $(kanikoargs)
build:
$(dcmd) $(dargs)
clean:
$(dcmd) $(cleanargs)
test: hadolint build kaniko
prune:
$(dcmd) $(pruneargs)

View File

@ -1,18 +1,14 @@
# docker-archlinux
[![Build Status](https://drone.dotya.ml/api/badges/wanderer/docker-archlinux/status.svg)](https://drone.dotya.ml/wanderer/docker-archlinux)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/immawanderer/archlinux)](https://hub.docker.com/r/immawanderer/archlinux/builds)
[![](https://images.microbadger.com/badges/version/immawanderer/archlinux.svg)](https://microbadger.com/images/immawanderer/archlinux)
[![](https://images.microbadger.com/badges/commit/immawanderer/archlinux.svg)](https://microbadger.com/images/immawanderer/archlinux)
[![Docker Image Version (latest by date)](https://img.shields.io/docker/v/immawanderer/archlinux)](https://hub.docker.com/r/immawanderer/archlinux/tags/?page=1&ordering=last_updated)
[![Docker Image Version (tag latest semver)](https://img.shields.io/docker/v/immawanderer/archlinux/linux-amd64)](https://hub.docker.com/r/immawanderer/archlinux/tags/?page=1&ordering=last_updated&name=linux-amd64)
[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/immawanderer/archlinux/linux-amd64)](https://hub.docker.com/r/immawanderer/archlinux/tags/?page=1&ordering=last_updated&name=linux-amd64)
[![Docker pulls](https://img.shields.io/docker/pulls/immawanderer/archlinux)](https://hub.docker.com/r/immawanderer/archlinux/)
This repository provides the Dockerfile to create an updated Arch Linux base image.
This repository provides a Dockerfile to create an *updated* Arch Linux base(-devel) image.
## :warning: :construction: DockerHub issue :construction: :warning:
unless you're running Arch as your host OS, please make sure you read through the following issue write-up \
⇒ https://git.dotya.ml/wanderer/docker-archlinux/issues/1 \
:warning: :construction: :construction: :construction: :warning:
The image is rebuilt approximately every hour to ensure it always has the latest packages.
The image is rebuilt nightly to ensure it always has the latest packages.
push mirror lives in [this GitHub repo](https://github.com/wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf/docker-archlinux)
development happens on [this Gitea instance](https://git.dotya.ml/wanderer/docker-archlinux)