16 Commits

Author SHA1 Message Date
58a253d336 alpine 3.22
Signed-off-by: Joe Groocock <me@frebib.net>
2025-06-01 17:46:25 +00:00
f987f60fff Publish to Spritsail, Github and Docker container registries
Signed-off-by: Joe Groocock <me@frebib.net>
2025-05-05 15:06:16 +00:00
ea70eddebd Update to alpine:3.21
Signed-off-by: Joe Groocock <me@frebib.net>
2024-12-08 00:32:47 +00:00
b1b46fb469 Update to alpine:3.20
Signed-off-by: Joe Groocock <me@frebib.net>
2024-06-11 21:45:22 +00:00
ed8af085db Replace label-schema labels with opencontainers
org.label-schema.* labels are officially deprecated and replaced by the
opencontainers labels defined by the opencontainers image-spec at
https://github.com/opencontainers/image-spec/blob/main/annotations.md

Signed-off-by: Joe Groocock <me@frebib.net>
2024-04-01 15:56:47 +00:00
4b67afe49d Update to alpine:3.19
Signed-off-by: Joe Groocock <me@frebib.net>
2024-01-13 00:33:35 +00:00
735a1de6ca Update to alpine:3.18
Signed-off-by: Joe Groocock <me@frebib.net>
2023-05-23 09:07:20 +00:00
f8c0652bbc Update to alpine:3.17
Signed-off-by: Joe Groocock <me@frebib.net>
2022-11-29 20:05:25 +00:00
bc6f6539b2 Publish on cron rebuilds
Signed-off-by: Joe Groocock <me@frebib.net>
2022-08-06 15:31:12 +00:00
e50739bb32 Build amd64/arm64 multiarch images
Signed-off-by: Adam Dodman <adam@adam-ant.co.uk>
Signed-off-by: Joe Groocock <me@frebib.net>
Signed-off-by: Joe Groocock <jgroocock@cloudflare.com>
2022-07-07 10:49:16 +00:00
fa09f2867c Update to alpine:3.16
Signed-off-by: Joe Groocock <me@frebib.net>
2022-06-13 14:42:17 +00:00
438819be65 Update to alpine:3.15
Signed-off-by: Joe Groocock <me@frebib.net>
2021-11-24 22:40:53 +00:00
f848ecae6f Update to alpine:3.14
Signed-off-by: Joe Groocock <me@frebib.net>
2021-06-18 08:25:52 +00:00
d7d15ca14d Use https for spritsail alpine repo
http->https redirection seems to be broken in alpine 3.13, and the
repository automatically redirects to https anyway, so being explicit is
probably better, and saves a round-trip and redirect.

Signed-off-by: Joe Groocock <me@frebib.net>
2021-01-23 22:41:24 +00:00
a216ae99b9 Update to alpine:3.13
Signed-off-by: Joe Groocock <me@frebib.net>
2021-01-20 18:10:23 +00:00
7d52c725e4 Update to alpine:3.12
Signed-off-by: Joe Groocock <me@frebib.net>
2020-06-13 16:36:20 +01:00
2 changed files with 90 additions and 37 deletions

View File

@ -1,35 +1,57 @@
def main(ctx):
return [
step("3.8"),
step("3.9"),
step("3.10"),
step("3.11",["latest"]),
step("edge"),
]
repo = "spritsail/alpine"
archs = ["amd64", "arm64"]
branches = ["master"]
versions = {
"3.21": [],
"3.22": ["latest"],
"edge": [],
}
def step(alpinever,tags=[]):
def main(ctx):
builds = []
for ver, tags in versions.items():
depends_on = []
for arch in archs:
key = "build-%s-%s" % (ver, arch)
builds.append(step(ver, arch, key))
depends_on.append(key)
if ctx.build.branch in branches:
builds.extend(publish(ver, depends_on, tags))
return builds
def step(ver, arch, key):
vertest = "grep -q '%s' /etc/alpine-release && " % ver if ver != "edge" else ""
return {
"kind": "pipeline",
"name": "build-%s" % alpinever,
"name": key,
"platform": {
"os": "linux",
"arch": arch,
},
"environment": {
"DOCKER_IMAGE_TOKEN": ver,
},
"steps": [
{
"name": "build",
"image": "spritsail/docker-build",
"pull": "always",
"settings": {
"repo": "alpine-dev-%s" % alpinever,
"build_args": [
"ALPINE_TAG=%s" % alpinever,
],
"ALPINE_TAG=%s" % ver,
],
},
},
},
{
"name": "test",
"image": "spritsail/docker-test",
"pull": "always",
"settings": {
"repo": "spritsail/alpine",
"run": "su-exec nobody apk --version",
"run": vertest + "su-exec nobody apk --version",
"verbose": "true",
},
},
{
@ -37,23 +59,54 @@ def step(alpinever,tags=[]):
"image": "spritsail/docker-publish",
"pull": "always",
"settings": {
"from": "alpine-dev-%s" % alpinever,
"repo": "spritsail/alpine",
"tags": [alpinever] + tags,
},
"environment": {
"DOCKER_USERNAME": {
"from_secret": "docker_username",
},
"DOCKER_PASSWORD": {
"from_secret": "docker_password",
},
"registry": {"from_secret": "registry_url"},
"login": {"from_secret": "registry_login"},
},
"when": {
"branch": ["master"],
"event": ["push"],
"branch": branches,
"event": ["push", "cron"],
},
},
]
}
def publish(ver, depends, tags=[]):
return [
{
"kind": "pipeline",
"name": "publish-%s-%s" % (ver, name),
"depends_on": depends,
"platform": {
"os": "linux",
},
"environment": {
"DOCKER_IMAGE_TOKEN": ver,
},
"steps": [
{
"name": "publish",
"image": "spritsail/docker-multiarch-publish",
"pull": "always",
"settings": {
"src_registry": {"from_secret": "registry_url"},
"src_login": {"from_secret": "registry_login"},
"dest_registry": registry,
"dest_repo": repo,
"dest_login": {"from_secret": login_secret},
"tags": [ver] + tags,
},
"when": {
"branch": branches,
"event": ["push", "cron"],
},
},
],
}
for name, registry, login_secret in [
("dockerhub", "index.docker.io", "docker_login"),
("spritsail", "registry.spritsail.io", "spritsail_login"),
("ghcr", "ghcr.io", "ghcr_login"),
]
]
# vim: ft=python sw=2

View File

@ -1,15 +1,15 @@
ARG ALPINE_TAG=3.11
ARG ALPINE_TAG=3.22
FROM alpine:$ALPINE_TAG
ARG ALPINE_TAG
LABEL maintainer="Spritsail <alpine@spritsail.io>" \
org.label-schema.vendor="Spritsail" \
org.label-schema.name="Alpine Linux" \
org.label-schema.url="https://github.com/gliderlabs/docker-alpine" \
org.label-schema.description="Alpine Linux base image" \
org.label-schema.version=${ALPINE_TAG}
LABEL org.opencontainers.image.authors="Spritsail <alpine@spritsail.io>" \
org.opencontainers.image.title="Alpine Linux" \
org.opencontainers.image.url="https://github.com/gliderlabs/docker-alpine" \
org.opencontainers.image.source="https://github.com/spritsail/alpine" \
org.opencontainers.image.description="Alpine Linux base image" \
org.opencontainers.image.version=${ALPINE_TAG}
# Override shell for sh-y debugging goodness
SHELL ["/bin/sh", "-exc"]
@ -18,7 +18,7 @@ COPY skel/ /
ADD https://alpine.spritsail.io/spritsail-alpine.rsa.pub /etc/apk/keys
ENV ENV="/etc/profile"
RUN sed -i '1ihttp://alpine.spritsail.io/spritsail' /etc/apk/repositories \
RUN sed -i '1ihttps://alpine.spritsail.io/spritsail' /etc/apk/repositories \
&& apk --no-cache add \
su-exec \
tini