You've already forked createrepo-docker
Compare commits
87 Commits
Author | SHA1 | Date | |
---|---|---|---|
da99b29990
|
|||
869f83c4ce
|
|||
b98cc830c3
|
|||
840ff04f70
|
|||
259e27212a
|
|||
23296bc971
|
|||
fc51827300
|
|||
fc186532eb
|
|||
db6e503ecc
|
|||
a0d853b4a7
|
|||
a6508377ca
|
|||
0f3a51c7da
|
|||
fe7e74a281
|
|||
133eb432cb
|
|||
dda5326e1d
|
|||
407ee8118c
|
|||
c27600404c
|
|||
fb1b86ce05
|
|||
4c7e5d32d1
|
|||
2c757a60c9
|
|||
1c442c07e0
|
|||
bae450708a
|
|||
93d7e086dd
|
|||
e12e2d3501
|
|||
c3db378a12
|
|||
c4ac21f206
|
|||
cc49e734bd
|
|||
70e83b5ae3
|
|||
30f04c3fb2
|
|||
677a485f06
|
|||
b9140eb259
|
|||
5829562b13
|
|||
e5f00f93be
|
|||
eb6c6cff03
|
|||
992720bbb1
|
|||
f9dab76697
|
|||
0be9bfaf17
|
|||
bb45c4d709
|
|||
a396f09f79
|
|||
d136cc93a0
|
|||
7ee199a24b
|
|||
3f6b0a8f0c
|
|||
b184f1bbdd
|
|||
afd4edff7b
|
|||
0aaf19d300
|
|||
602a969309 | |||
737eed4fd6 | |||
d1b8688507 | |||
657fe0cb86 | |||
026ef56381 | |||
e62cb0af95 | |||
0f90c37010 | |||
1646361072 | |||
144d250108 | |||
dc2d624c64
|
|||
7d42ff94df
|
|||
c5730c7a15
|
|||
0605b0c685 | |||
a36b86a181 | |||
f5cee696e4 | |||
35d88e765a
|
|||
9742fc7ca7
|
|||
28ac8406d2 | |||
93ed88ff4d | |||
8c203119bd | |||
079441effe
|
|||
b7c519303b
|
|||
e98e980dc7
|
|||
626d2484e1
|
|||
3cd1a7976b | |||
0548436135
|
|||
ccf8504c35 | |||
3e2c9bb75a | |||
74b8bc9d6d | |||
cc827f1a03 | |||
9e0f029469
|
|||
ddf9db6200
|
|||
8fcf8c8afd
|
|||
083f10c4f7
|
|||
366b8dc784 | |||
6c44e2fac3 | |||
6f21ddc0af
|
|||
d042f6f942 | |||
465ed81044
|
|||
cd4e028655 | |||
d32561ade3 | |||
238231bb1f |
501
.drone.yml
501
.drone.yml
@ -1,501 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: markdown lint
|
|
||||||
commands:
|
|
||||||
- markdownlint *.md
|
|
||||||
image: docker.io/volkerraschek/markdownlint:0.31.1
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: dry-run-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
dry_run: true
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
tags: latest-amd64
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
exclude:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: dry-run-arm64-v8
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
dry_run: true
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
tags: latest-arm64-v8
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
exclude:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: latest-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
tags: latest-amd64
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: latest-arm64-v8
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
tags: latest-arm64-v8
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: latest-manifest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: docker.io/plugins/manifest:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- latest-amd64
|
|
||||||
- latest-arm64-v8
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: tagged-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag_suffix: amd64
|
|
||||||
auto_tag: true
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
build_args:
|
|
||||||
- CEATEREPO_VERSION=${DRONE_TAG}
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: tagged-arm64-v8
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: arm64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
auto_tag_suffix: arm64-v8
|
|
||||||
auto_tag: true
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
force_tag: true
|
|
||||||
no_cache: true
|
|
||||||
purge: true
|
|
||||||
repo: volkerraschek/createrepo
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
build_args:
|
|
||||||
- CEATEREPO_VERSION=${DRONE_TAG}
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: docker_socket
|
|
||||||
host:
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: tagged-manifest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: docker.io/plugins/manifest:latest
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: notify
|
|
||||||
image: docker.io/drillster/drone-email:latest
|
|
||||||
environment:
|
|
||||||
PLUGIN_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
PLUGIN_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
PLUGIN_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
PLUGIN_FROM:
|
|
||||||
from_secret: smtp_mail_address
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- tagged-amd64
|
|
||||||
- tagged-arm64-v8
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/createrepo-docker
|
|
49
.gitea/workflows/build.yaml
Normal file
49
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-arm64:
|
||||||
|
runs-on: ubuntu-latest-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
TAG=latest
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/arm64 \
|
||||||
|
--file Dockerfile \
|
||||||
|
--provenance false \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/createrepo:${TAG}-arm64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
build-amd64:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
TAG=latest
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--file Dockerfile \
|
||||||
|
--provenance false \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/createrepo:${TAG}-amd64 \
|
||||||
|
.
|
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: 'Lint Markdown files'
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
||||||
|
with:
|
||||||
|
globs: '**/*.md'
|
101
.gitea/workflows/release.yaml
Normal file
101
.gitea/workflows/release.yaml
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "**"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
push-arm64:
|
||||||
|
runs-on: ubuntu-latest-arm64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--build-arg CREATEREPO_VERSION=${{ github.ref_name }} \
|
||||||
|
--file Dockerfile \
|
||||||
|
--platform linux/arm64 \
|
||||||
|
--provenance false \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/createrepo:${TAG}-arm64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
push-amd64:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--build-arg CREATEREPO_VERSION=${{ github.ref_name }} \
|
||||||
|
--file Dockerfile \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--provenance false \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/createrepo:${TAG}-amd64 \
|
||||||
|
.
|
||||||
|
|
||||||
|
push-manifest:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs:
|
||||||
|
- push-arm64
|
||||||
|
- push-amd64
|
||||||
|
steps:
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Create and push manifest
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker manifest create git.cryptic.systems/volker.raschek/createrepo:${TAG} \
|
||||||
|
--amend git.cryptic.systems/volker.raschek/createrepo:${TAG}-amd64 \
|
||||||
|
--amend git.cryptic.systems/volker.raschek/createrepo:${TAG}-arm64
|
||||||
|
|
||||||
|
docker manifest push git.cryptic.systems/volker.raschek/createrepo:${TAG}
|
||||||
|
|
||||||
|
sync-to-hub-docker-io:
|
||||||
|
needs:
|
||||||
|
- push-manifest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Copy images to docker.io
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
apt-get update --yes
|
||||||
|
apt-get install --yes skopeo
|
||||||
|
skopeo copy \
|
||||||
|
--all \
|
||||||
|
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
||||||
|
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
||||||
|
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
||||||
|
--src-username volker.raschek \
|
||||||
|
docker://git.cryptic.systems/volker.raschek/createrepo:${TAG} \
|
||||||
|
docker://docker.io/volkerraschek/createrepo:${TAG}
|
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Update Docker Hub Description
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- README.md
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-description-on-hub-docker-io:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||||
|
repository: volkerraschek/createrepo
|
||||||
|
readme-filepath: README.md
|
@ -45,19 +45,17 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 80
|
line_length: 120
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 80
|
heading_line_length: 120
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
code_block_line_length: 80
|
code_block_line_length: 120
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
# Include tables
|
# Include tables
|
||||||
tables: false
|
tables: false
|
||||||
# Include headings
|
# Include headings
|
||||||
headings: true
|
headings: true
|
||||||
# Include headings
|
|
||||||
headers: true
|
|
||||||
# Strict length checking
|
# Strict length checking
|
||||||
strict: false
|
strict: false
|
||||||
# Stern length checking
|
# Stern length checking
|
||||||
@ -70,11 +68,6 @@ MD022:
|
|||||||
# Blank lines below heading
|
# Blank lines below heading
|
||||||
lines_below: 1
|
lines_below: 1
|
||||||
|
|
||||||
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
|
||||||
MD024:
|
|
||||||
# Only check sibling headings
|
|
||||||
allow_different_nesting: true
|
|
||||||
|
|
||||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
MD025:
|
MD025:
|
||||||
# Heading level
|
# Heading level
|
||||||
@ -128,8 +121,7 @@ MD041:
|
|||||||
# MD044/proper-names - Proper names should have the correct capitalization
|
# MD044/proper-names - Proper names should have the correct capitalization
|
||||||
MD044:
|
MD044:
|
||||||
# List of proper names
|
# List of proper names
|
||||||
names:
|
names: []
|
||||||
- create-repo
|
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
|
|
||||||
@ -141,4 +133,4 @@ MD046:
|
|||||||
# MD048/code-fence-style - Code fence style
|
# MD048/code-fence-style - Code fence style
|
||||||
MD048:
|
MD048:
|
||||||
# Code fence syle
|
# Code fence syle
|
||||||
style: "backtick"
|
style: "backtick"
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
FROM docker.io/library/rockylinux:8.6
|
FROM docker.io/library/rockylinux:9.3.20231119
|
||||||
|
|
||||||
ARG CREATEREPO_VERSION
|
ARG CREATEREPO_VERSION
|
||||||
|
|
||||||
RUN yum update --assumeyes && \
|
RUN yum update --assumeyes && \
|
||||||
yum install --assumeyes bash curl
|
yum install --assumeyes bash bash-completion
|
||||||
|
|
||||||
RUN if [ -z ${CREATEREPO_VERSION+x} ]; then \
|
RUN if [ -z ${CREATEREPO_VERSION+x} ]; then \
|
||||||
yum install --assumeyes createrepo_c; \
|
yum install --assumeyes createrepo_c; \
|
||||||
|
13
Makefile
13
Makefile
@ -1,6 +1,6 @@
|
|||||||
# CREATEREPO_VERSION
|
# CREATEREPO_VERSION
|
||||||
# Only required to install a specifiy version
|
# Only required to install a specify version
|
||||||
CREATEREPO_VERSION?=0.17.7
|
CREATEREPO_VERSION?=0.20.1
|
||||||
|
|
||||||
# CONTAINER_RUNTIME
|
# CONTAINER_RUNTIME
|
||||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||||
@ -9,14 +9,13 @@ CONTAINER_RUNTIME?=$(shell which podman)
|
|||||||
|
|
||||||
# CREATEREPO_IMAGE_REGISTRY_NAME
|
# CREATEREPO_IMAGE_REGISTRY_NAME
|
||||||
# Defines the name of the new container to be built using several variables.
|
# Defines the name of the new container to be built using several variables.
|
||||||
CREATEREPO_IMAGE_REGISTRY_NAME:=docker.io
|
CREATEREPO_IMAGE_REGISTRY_NAME?=git.cryptic.systems
|
||||||
CREATEREPO_IMAGE_REGISTRY_USER:=volkerraschek
|
CREATEREPO_IMAGE_REGISTRY_USER?=volker.raschek
|
||||||
|
|
||||||
CREATEREPO_IMAGE_NAMESPACE?=${CREATEREPO_IMAGE_REGISTRY_USER}
|
CREATEREPO_IMAGE_NAMESPACE?=${CREATEREPO_IMAGE_REGISTRY_USER}
|
||||||
CREATEREPO_IMAGE_NAME:=createrepo
|
CREATEREPO_IMAGE_NAME:=createrepo
|
||||||
CREATEREPO_IMAGE_VERSION?=latest
|
CREATEREPO_IMAGE_VERSION?=latest
|
||||||
CREATEREPO_IMAGE_FULLY_QUALIFIED=${CREATEREPO_IMAGE_REGISTRY_NAME}/${CREATEREPO_IMAGE_NAMESPACE}/${CREATEREPO_IMAGE_NAME}:${CREATEREPO_IMAGE_VERSION}
|
CREATEREPO_IMAGE_FULLY_QUALIFIED=${CREATEREPO_IMAGE_REGISTRY_NAME}/${CREATEREPO_IMAGE_NAMESPACE}/${CREATEREPO_IMAGE_NAME}:${CREATEREPO_IMAGE_VERSION}
|
||||||
CREATEREPO_IMAGE_UNQUALIFIED=${CREATEREPO_IMAGE_NAMESPACE}/${CREATEREPO_IMAGE_NAME}:${CREATEREPO_IMAGE_VERSION}
|
|
||||||
|
|
||||||
# BUILD CONTAINER IMAGE
|
# BUILD CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
@ -28,15 +27,13 @@ container-image/build:
|
|||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
--tag ${CREATEREPO_IMAGE_FULLY_QUALIFIED} \
|
--tag ${CREATEREPO_IMAGE_FULLY_QUALIFIED} \
|
||||||
--tag ${CREATEREPO_IMAGE_UNQUALIFIED} \
|
|
||||||
.
|
.
|
||||||
|
|
||||||
# DELETE CONTAINER IMAGE
|
# DELETE CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY:=container-image/delete
|
PHONY:=container-image/delete
|
||||||
container-image/delete:
|
container-image/delete:
|
||||||
- ${CONTAINER_RUNTIME} image rm ${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${CREATEREPO_IMAGE_UNQUALIFIED}
|
- ${CONTAINER_RUNTIME} image rm ${CREATEREPO_IMAGE_FULLY_QUALIFIED}
|
||||||
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
|
|
||||||
|
|
||||||
# PUSH CONTAINER IMAGE
|
# PUSH CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
21
README.md
21
README.md
@ -1,21 +1,18 @@
|
|||||||
# createrepo-docker
|
# createrepo-docker
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/createrepo-docker)
|
|
||||||
[](https://hub.docker.com/r/volkerraschek/createrepo)
|
[](https://hub.docker.com/r/volkerraschek/createrepo)
|
||||||
|
|
||||||
This project contains all sources to build the container image
|
This project contains all sources to build the container image `git.cryptic.systems/volker.raschek/createrepo` and the
|
||||||
`docker.io/volkerraschek/createrepo` and the shell script `createrepo.sh`.
|
shell script `createrepo.sh`.
|
||||||
|
|
||||||
The primary goal of this project is to package the binary `createrepo` as
|
The primary goal of this project is to package the binary `createrepo` as container image to provide the functionally
|
||||||
container image to provide the functionally for CI/CD workflows or for systems
|
for CI/CD workflows or for systems which does contains the binary.
|
||||||
which does contains the binary.
|
|
||||||
|
|
||||||
## createrepo.sh
|
## createrepo.sh
|
||||||
|
|
||||||
The shell script `createrepo.sh` is a wrapper for the binary `createrepo`, which
|
The shell script `createrepo.sh` is a wrapper for the binary `createrepo`, which is not available depending on the
|
||||||
is not available depending on the distribution. It starts the container image
|
distribution. It starts the container image `git.cryptic.systems/volker.raschek/createrepo` in the background to call
|
||||||
`docker.io/volkerraschek/createrepo` in the background to call the binary. For
|
the binary. For this reason, a container runtime like `docker` or `podman` is necessary.
|
||||||
this reason, a container runtime like `docker` or `podman` is necessary.
|
|
||||||
|
|
||||||
### Installation
|
### Installation
|
||||||
|
|
||||||
@ -27,8 +24,8 @@ curl https://git.cryptic.systems/volker.raschek/createrepo-docker/raw/branch/mas
|
|||||||
|
|
||||||
### Usage
|
### Usage
|
||||||
|
|
||||||
The script forwards all arguments directly to the binary running inside the
|
The script forwards all arguments directly to the binary running inside the container. For this reason, all arguments
|
||||||
container. For this reason, all arguments from the original binary can be used.
|
from the original binary can be used.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
createrepo.sh --update . # Update local repository
|
createrepo.sh --update . # Update local repository
|
||||||
|
16
createrepo.sh
Normal file → Executable file
16
createrepo.sh
Normal file → Executable file
@ -4,17 +4,17 @@ set -e
|
|||||||
|
|
||||||
CONTAINER_RUNTIME=$(which docker)
|
CONTAINER_RUNTIME=$(which docker)
|
||||||
|
|
||||||
CREATEREPO_IMAGE_FULLY_QUALIFIED=docker.io/volkerraschek/createrepo:0.17.2
|
CREATEREPO_IMAGE_FULLY_QUALIFIED="git.cryptic.systems/volker.raschek/createrepo:0.17.2" # renovate: datasource=docker registryUrl=https://git.cryptic.systems depName=volker.raschek/createrepo
|
||||||
|
|
||||||
CUSTOM_UID=$(getent passwd ${USER} | cut -d ':' -f 3)
|
CUSTOM_UID="${CUSTOM_UID:-"$(getent passwd "${USER}" | cut -d ':' -f 3)"}"
|
||||||
CUSTOM_GID=$(getent passwd ${USER} | cut -d ':' -f 4)
|
CUSTOM_GID="${CUSTOM_GID:-"$(getent passwd "${USER}" | cut -d ':' -f 4)"}"
|
||||||
|
|
||||||
# Extract last element of passed arguments
|
# Extract last element of passed arguments
|
||||||
REPO_DIR=${@: -1}
|
REPO_DIR="${*: -1}"
|
||||||
|
|
||||||
${CONTAINER_RUNTIME} run \
|
${CONTAINER_RUNTIME} run \
|
||||||
--rm \
|
--rm \
|
||||||
--volume ${REPO_DIR}:${REPO_DIR} \
|
--volume "${REPO_DIR}:${REPO_DIR}" \
|
||||||
--workdir ${REPO_DIR} \
|
--workdir "${REPO_DIR}" \
|
||||||
--user ${CUSTOM_UID}:${CUSTOM_GID} \
|
--user "${CUSTOM_UID}:${CUSTOM_GID}" \
|
||||||
${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${@}
|
"${CREATEREPO_IMAGE_FULLY_QUALIFIED}" "${@}"
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
|
||||||
{{#if build.tags}}
|
|
||||||
tags:
|
|
||||||
{{#each build.tags}}
|
|
||||||
- {{this}}
|
|
||||||
{{/each}}
|
|
||||||
- "latest"
|
|
||||||
{{/if}}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: volkerraschek/createrepo:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
os: linux
|
|
||||||
variant: v8
|
|
@ -1,29 +1,16 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"assignees": [ "volker.raschek" ],
|
"extends": [
|
||||||
"automergeStrategy": "merge-commit",
|
"local>volker.raschek/renovate-config:default#master",
|
||||||
"automergeType": "pr",
|
"local>volker.raschek/renovate-config:container#master",
|
||||||
"labels": [ "renovate" ],
|
"local>volker.raschek/renovate-config:actions#master",
|
||||||
|
"local>volker.raschek/renovate-config:regexp#master"
|
||||||
|
],
|
||||||
"packageRules": [
|
"packageRules": [
|
||||||
{
|
{
|
||||||
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
|
"automerge": false,
|
||||||
"automerge": true,
|
"matchPackageNames": [ "docker-compose" ],
|
||||||
"matchManagers": "droneci",
|
"matchManagers": [ "regex" ]
|
||||||
"matchUpdateTypes": [ "minor", "patch"]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"rebaseLabel": "renovate/rebase",
|
|
||||||
"rebaseWhen": "behind-base-branch",
|
|
||||||
"regexManagers": [
|
|
||||||
{
|
|
||||||
"description": "Update container image of createrepo.sh",
|
|
||||||
"fileMatch": [
|
|
||||||
"^createrepo.sh$"
|
|
||||||
],
|
|
||||||
"matchStrings": [
|
|
||||||
"^CREATEREPO_IMAGE_FULLY_QUALIFIED=(?<depName>.*):(?<currentValue>.*)$"
|
|
||||||
],
|
|
||||||
"datasourceTemplate": "docker"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user