Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
surtur | 30419ebfc3 | ||
surtur | 584e8c97a5 | ||
surtur | 3d38d7a5ff | ||
surtur | e52089322f | ||
surtur | 1161612ef2 | ||
surtur | 33790a3be4 | ||
surtur | 9d50738195 | ||
surtur | 6d1e164bb3 | ||
surtur | 68ac3ba380 | ||
surtur | a8f514fed8 | ||
surtur | b6d194191d | ||
surtur | 85d8cf5359 | ||
surtur | 1a80496abd | ||
surtur | ea4edd505b | ||
surtur | fdc5dd6f1c | ||
surtur | fcd83eb9c5 | ||
surtur | b92babe0e9 | ||
surtur | 6f62b808d7 | ||
surtur | 01c9a0fbc4 | ||
surtur | 866b668074 | ||
surtur | be7d4b9716 | ||
surtur | 75e7bade0c | ||
surtur | 1cf40505fd | ||
surtur | 2a068ab9de | ||
surtur | 4dfede6778 | ||
surtur | 4bc7b193c4 |
26
.drone.yml
26
.drone.yml
|
@ -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
|
||||
|
||||
...
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
---
|
||||
ignored:
|
||||
# ad "DL3007 archlinux is always updating
|
||||
- DL3007
|
||||
|
|
32
Dockerfile
32
Dockerfile
|
@ -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/*
|
||||
|
|
|
@ -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)
|
16
README.md
16
README.md
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue