You've already forked rpm-builder-docker
Compare commits
135 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
89d8d65955
|
|||
|
fde42c2738
|
|||
|
7d7dad0c0b
|
|||
| 445a427fb5 | |||
|
1526fd518c
|
|||
| f106b608ca | |||
|
4ee5f0b027
|
|||
| 8be9127c62 | |||
|
bd7979462e
|
|||
| a9a664f4ba | |||
|
d89df08074
|
|||
| 403a5cac02 | |||
|
6c2b9439a6
|
|||
| 4064d5b137 | |||
|
49e1d5a29d
|
|||
| 6e1495a0ba | |||
|
28b58cdcba
|
|||
| 4e64d8b9a6 | |||
|
9f9db97743
|
|||
| 0ddb544ffb | |||
|
274bc9480a
|
|||
| 4786e912f8 | |||
|
612baaeb29
|
|||
| 368e07bccf | |||
| b961d0457e | |||
|
0f5be7a1e2
|
|||
|
5d49e076f4
|
|||
|
2fec375ad4
|
|||
|
b3da25127c
|
|||
|
0e47be4cf2
|
|||
|
5b5d47f6ea
|
|||
|
8ba0e29f4e
|
|||
|
255fd0474d
|
|||
|
469f8d8f62
|
|||
|
a3093b45de
|
|||
|
fa09622b3f
|
|||
|
6ae370593e
|
|||
|
8bb4c3fff1
|
|||
|
1d28c73993
|
|||
|
adb893a1b9
|
|||
|
334b7c20b0
|
|||
|
0698633fa5
|
|||
|
eea5ab9867
|
|||
|
a157cdded7
|
|||
|
b24425f55d
|
|||
|
5c13a63bed
|
|||
|
9ddcc5937a
|
|||
|
9078583eac
|
|||
|
b3f56c7435
|
|||
|
802f19e23b
|
|||
|
08c05b8937
|
|||
|
de56566799
|
|||
|
fbb5879095
|
|||
|
195758bfad
|
|||
|
b81f8f8baf
|
|||
|
d9ef726f9a
|
|||
|
07cafb9abc
|
|||
|
462cb4ebb3
|
|||
|
581d8b88ac
|
|||
|
931d1fd472
|
|||
|
4c98cc7f59
|
|||
|
5f1314e1e7
|
|||
| 463998c4b9 | |||
|
92a52bd99c
|
|||
|
2f580d091f
|
|||
|
eb283d6179
|
|||
|
87d2da74e8
|
|||
|
55b1749afb
|
|||
|
716c6555e0
|
|||
|
9ff8358a52
|
|||
|
43bc5c653d
|
|||
|
907c01e89c
|
|||
|
416c4a8a79
|
|||
|
223271fd47
|
|||
|
9f774bb5fd
|
|||
|
f2603be242
|
|||
|
f0870a8d40
|
|||
|
23c035dbe4
|
|||
|
3bc0cfc1d4
|
|||
| ca308793a6 | |||
| 0c230ba6f4 | |||
| 911970a3d2 | |||
| d5ab2dea13 | |||
| 6e8cd0e837 | |||
| 8609968912 | |||
| b020fc36a3 | |||
| 718eb30311 | |||
| b61edf2a35 | |||
| 5d70b5e3e6 | |||
|
e7fe1e6e43
|
|||
| 0e5b4c0e1d | |||
| e2b918b9bf | |||
| 76da65c663 | |||
| eada35414a | |||
| 88e25b8da1 | |||
| e35eaad9d0 | |||
| c0ca5e5e3e | |||
| c9ea484fbd | |||
| b52199b211 | |||
|
0a6e178227
|
|||
|
a9ecd599cd
|
|||
| 338570d9bb | |||
| 037628db5b | |||
| bc5c0e2e8b | |||
| 5e409205f8 | |||
| 88b59e0e6f | |||
| a17fc897de | |||
| 6f06a02807 | |||
| 50a1ce161b | |||
|
2a57ad4397
|
|||
|
fe0b4c331c
|
|||
|
59de285edd
|
|||
| cc9bf66158 | |||
|
0972a71c32
|
|||
| 2190fca388 | |||
| 789c780995 | |||
| 28cf39e7ad | |||
|
34e7b75c75
|
|||
|
6f186be57d
|
|||
|
245df42ce2
|
|||
| f152f09787 | |||
| 28f24fab18 | |||
|
aa15e5741d
|
|||
|
fe11e56af5
|
|||
| 475a8ad81d | |||
| 7c1308a232 | |||
|
279ef684dd
|
|||
|
4d21b8f0e0
|
|||
|
de0345133d
|
|||
|
d5c6339945
|
|||
| fb5c44024d | |||
|
9318bdeacb
|
|||
|
46a834bc63
|
|||
| eea3df11e5 | |||
|
f0968ac305
|
539
.drone.yml
539
.drone.yml
@@ -1,539 +0,0 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: linter
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: markdown lint
|
||||
commands:
|
||||
- markdownlint *.md
|
||||
image: docker.io/volkerraschek/markdownlint:0.29.0
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 50M
|
||||
|
||||
- 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: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
trigger:
|
||||
event:
|
||||
exclude:
|
||||
- tag
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-amd64
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-arm-v7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-arm-v7
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: latest-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: false
|
||||
tags: latest-arm64-v8
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
no_cache: true
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: latest-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: plugins/manifest
|
||||
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: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
depends_on:
|
||||
- latest-amd64
|
||||
- latest-arm-v7
|
||||
- latest-arm64-v8
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-amd64
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: amd64
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
build_args:
|
||||
- RPMBUILDER_VERSION=${DRONE_TAG}
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-arm-v7
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: arm-v7
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
build_args:
|
||||
- RPMBUILDER_VERSION=${DRONE_TAG}
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: tagged-arm64-v8
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: arm64
|
||||
|
||||
steps:
|
||||
- name: build
|
||||
image: plugins/docker
|
||||
settings:
|
||||
dockerfile: Dockerfile
|
||||
auto_tag: true
|
||||
auto_tag_suffix: arm64-v8
|
||||
repo: volkerraschek/rpm-builder
|
||||
username:
|
||||
from_secret: container_image_registry_user
|
||||
password:
|
||||
from_secret: container_image_registry_password
|
||||
build_args:
|
||||
- RPMBUILDER_VERSION=${DRONE_TAG}
|
||||
no_cache: true
|
||||
volumes:
|
||||
- name: docker_socket
|
||||
path: /var/run/docker.sock
|
||||
|
||||
- name: notify
|
||||
image: drillster/drone-email
|
||||
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/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: tagged-manifest
|
||||
|
||||
steps:
|
||||
- name: build-manifest
|
||||
image: plugins/manifest
|
||||
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: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
depends_on:
|
||||
- tagged-amd64
|
||||
- tagged-arm-v7
|
||||
- tagged-arm64-v8
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
repo:
|
||||
- volker.raschek/rpm-builder-docker
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: sync
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
- name: github
|
||||
image: docker.io/appleboy/drone-git-push:latest
|
||||
resources:
|
||||
limits:
|
||||
cpu: 50
|
||||
memory: 25M
|
||||
settings:
|
||||
branch: master
|
||||
remote: ssh://git@github.com/volker-raschek/rpm-builder-docker.git
|
||||
force: true
|
||||
ssh_key:
|
||||
from_secret: ssh_key
|
||||
|
||||
- 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: 50
|
||||
memory: 25M
|
||||
when:
|
||||
status:
|
||||
- changed
|
||||
- failure
|
||||
|
||||
depends_on:
|
||||
- latest-manifest
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
event:
|
||||
- cron
|
||||
- push
|
||||
repo:
|
||||
- volker.raschek/rpm-builder-docker
|
||||
53
.gitea/workflows/build.yaml
Normal file
53
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
name: Build
|
||||
|
||||
env:
|
||||
# Introduce suffix for new upstream repository
|
||||
RPMBUILDER_SUFFIX: rs
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
workflow_dispatch: {}
|
||||
|
||||
jobs:
|
||||
build-arm64:
|
||||
runs-on: ubuntu-latest-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.1
|
||||
- uses: docker/setup-qemu-action@v3.7.0
|
||||
- uses: docker/setup-buildx-action@v3.12.0
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
TAG=latest
|
||||
|
||||
docker buildx build \
|
||||
--platform linux/arm64 \
|
||||
--file Dockerfile \
|
||||
--provenance false \
|
||||
--tag git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-arm64 \
|
||||
.
|
||||
|
||||
build-amd64:
|
||||
runs-on: ubuntu-latest-amd64
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.1
|
||||
- uses: docker/setup-qemu-action@v3.7.0
|
||||
- uses: docker/setup-buildx-action@v3.12.0
|
||||
|
||||
- name: Build image
|
||||
run: |
|
||||
TAG=latest
|
||||
|
||||
docker buildx build \
|
||||
--platform linux/amd64 \
|
||||
--file Dockerfile \
|
||||
--provenance false \
|
||||
--tag git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-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@v6.0.1
|
||||
- uses: DavidAnson/markdownlint-cli2-action@v21.0.0
|
||||
with:
|
||||
globs: '**/*.md'
|
||||
105
.gitea/workflows/release.yaml
Normal file
105
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,105 @@
|
||||
name: Release
|
||||
|
||||
env:
|
||||
# Introduce suffix for new upstream repository
|
||||
RPMBUILDER_SUFFIX: rs
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
push-arm64:
|
||||
runs-on: ubuntu-latest-arm64
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.1
|
||||
- uses: docker/setup-qemu-action@v3.7.0
|
||||
- uses: docker/setup-buildx-action@v3.12.0
|
||||
|
||||
- uses: docker/login-action@v3.6.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 RPMBUILDER_VERSION=${{ github.ref_name }} \
|
||||
--file Dockerfile \
|
||||
--platform linux/arm64 \
|
||||
--provenance false \
|
||||
--push \
|
||||
--tag git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-arm64 \
|
||||
.
|
||||
|
||||
push-amd64:
|
||||
runs-on: ubuntu-latest-amd64
|
||||
steps:
|
||||
- uses: actions/checkout@v6.0.1
|
||||
- uses: docker/setup-qemu-action@v3.7.0
|
||||
- uses: docker/setup-buildx-action@v3.12.0
|
||||
|
||||
- uses: docker/login-action@v3.6.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 RPMBUILDER_VERSION=${{ github.ref_name }} \
|
||||
--file Dockerfile \
|
||||
--platform linux/amd64 \
|
||||
--provenance false \
|
||||
--push \
|
||||
--tag git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-amd64 \
|
||||
.
|
||||
|
||||
push-manifest:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- push-arm64
|
||||
- push-amd64
|
||||
steps:
|
||||
- uses: docker/login-action@v3.6.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/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX} \
|
||||
--amend git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-amd64 \
|
||||
--amend git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}-arm64
|
||||
|
||||
docker manifest push git.cryptic.systems/volker.raschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}
|
||||
|
||||
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/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX} \
|
||||
docker://docker.io/volkerraschek/rpm-builder:${TAG}-${RPMBUILDER_SUFFIX}
|
||||
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@v6.0.1
|
||||
- uses: peter-evans/dockerhub-description@v5.0.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||
repository: volkerraschek/rpm-builder
|
||||
readme-filepath: README.md
|
||||
@@ -45,19 +45,17 @@ MD012:
|
||||
# MD013/line-length - Line length
|
||||
MD013:
|
||||
# Number of characters
|
||||
line_length: 80
|
||||
line_length: 120
|
||||
# Number of characters for headings
|
||||
heading_line_length: 80
|
||||
heading_line_length: 120
|
||||
# Number of characters for code blocks
|
||||
code_block_line_length: 80
|
||||
code_block_line_length: 120
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
# Include tables
|
||||
tables: false
|
||||
# Include headings
|
||||
headings: true
|
||||
# Include headings
|
||||
headers: true
|
||||
# Strict length checking
|
||||
strict: false
|
||||
# Stern length checking
|
||||
@@ -70,11 +68,6 @@ MD022:
|
||||
# Blank lines below heading
|
||||
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:
|
||||
# Heading level
|
||||
@@ -128,8 +121,7 @@ MD041:
|
||||
# MD044/proper-names - Proper names should have the correct capitalization
|
||||
MD044:
|
||||
# List of proper names
|
||||
names:
|
||||
- network-tools
|
||||
names: []
|
||||
# Include code blocks
|
||||
code_blocks: false
|
||||
|
||||
|
||||
13
Dockerfile
13
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM docker.io/library/rust:slim-buster AS build
|
||||
FROM docker.io/library/rust:1.92.0-slim-bullseye AS build
|
||||
|
||||
ARG RPMBUILDER_VERSION=master
|
||||
|
||||
@@ -9,10 +9,15 @@ RUN set -e && \
|
||||
|
||||
# compile musl and rpm-builder
|
||||
RUN set -e && \
|
||||
git clone -b ${RPMBUILDER_VERSION} https://github.com/Richterrettich/rpm-builder.git /rpm-builder && \
|
||||
make --directory /rpm-builder build
|
||||
if [ "${RPMBUILDER_VERSION}" != "master" ]; then \
|
||||
git clone -b rpm-builder-${RPMBUILDER_VERSION} https://github.com/rpm-rs/rpm-builder.git /rpm-builder; \
|
||||
else \
|
||||
git clone -b master https://github.com/rpm-rs/rpm-builder.git /rpm-builder; \
|
||||
fi && \
|
||||
cd /rpm-builder && \
|
||||
cargo build --profile release
|
||||
|
||||
FROM docker.io/library/debian:buster-slim
|
||||
FROM docker.io/library/debian:bullseye-slim
|
||||
|
||||
COPY --from=build /rpm-builder/target/release/rpm-builder /usr/bin/rpm-builder
|
||||
|
||||
|
||||
17
Makefile
17
Makefile
@@ -1,3 +1,7 @@
|
||||
# RPMBUILDER_VERSION
|
||||
# Only required to install a specify version
|
||||
RPMBUILDER_VERSION?=0.2.1-1 # renovate: datasource=github-releases depName=rpm-rs/rpm-builder extractVersion='rpm-builder-(?<version>\d+\.\d+\.\d+-\d+)$'
|
||||
|
||||
# CONTAINER_RUNTIME
|
||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||
# container runtime. This is needed to start and run a container image.
|
||||
@@ -5,33 +9,32 @@ CONTAINER_RUNTIME?=$(shell which podman)
|
||||
|
||||
# RPMBUILDER_IMAGE_REGISTRY_NAME
|
||||
# Defines the name of the new container to be built using several variables.
|
||||
RPMBUILDER_IMAGE_REGISTRY_NAME:=docker.io
|
||||
RPMBUILDER_IMAGE_REGISTRY_USER:=volkerraschek
|
||||
RPMBUILDER_IMAGE_REGISTRY_NAME?=git.cryptic.systems
|
||||
RPMBUILDER_IMAGE_REGISTRY_USER?=volker.raschek
|
||||
|
||||
RPMBUILDER_IMAGE_NAMESPACE?=${RPMBUILDER_IMAGE_REGISTRY_USER}
|
||||
RPMBUILDER_IMAGE_NAME:=rpm-builder
|
||||
RPMBUILDER_IMAGE_VERSION?=latest
|
||||
RPMBUILDER_IMAGE_FULLY_QUALIFIED=${RPMBUILDER_IMAGE_REGISTRY_NAME}/${RPMBUILDER_IMAGE_NAMESPACE}/${RPMBUILDER_IMAGE_NAME}:${RPMBUILDER_IMAGE_VERSION}
|
||||
RPMBUILDER_IMAGE_UNQUALIFIED=${RPMBUILDER_IMAGE_NAMESPACE}/${RPMBUILDER_IMAGE_NAME}:${RPMBUILDER_IMAGE_VERSION}
|
||||
RPMBUILDER_IMAGE_SUFFIX?=rs
|
||||
RPMBUILDER_IMAGE_FULLY_QUALIFIED=${RPMBUILDER_IMAGE_REGISTRY_NAME}/${RPMBUILDER_IMAGE_NAMESPACE}/${RPMBUILDER_IMAGE_NAME}:${RPMBUILDER_IMAGE_VERSION}-${RPMBUILDER_IMAGE_SUFFIX}
|
||||
|
||||
# BUILD CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY:=container-image/build
|
||||
container-image/build:
|
||||
${CONTAINER_RUNTIME} build \
|
||||
--build-arg RPMBUILDER_VERSION=${RPMBUILDER_VERSION} \
|
||||
--file Dockerfile \
|
||||
--no-cache \
|
||||
--pull \
|
||||
--tag ${RPMBUILDER_IMAGE_FULLY_QUALIFIED} \
|
||||
--tag ${RPMBUILDER_IMAGE_UNQUALIFIED} \
|
||||
.
|
||||
|
||||
# DELETE CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
PHONY:=container-image/delete
|
||||
container-image/delete:
|
||||
- ${CONTAINER_RUNTIME} image rm ${RPMBUILDER_IMAGE_FULLY_QUALIFIED} ${RPMBUILDER_IMAGE_UNQUALIFIED}
|
||||
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULL}
|
||||
- ${CONTAINER_RUNTIME} image rm ${RPMBUILDER_IMAGE_FULLY_QUALIFIED}
|
||||
|
||||
# PUSH CONTAINER IMAGE
|
||||
# ==============================================================================
|
||||
|
||||
15
README.md
15
README.md
@@ -1,23 +1,20 @@
|
||||
# rpm-builder-docker
|
||||
# rpm-builder
|
||||
|
||||
[](https://drone.cryptic.systems/volker.raschek/rpm-builder-docker)
|
||||
[](https://hub.docker.com/r/volkerraschek/rpm-builder)
|
||||
|
||||
This project contains only build sources for the container image
|
||||
`docker.io/volkerraschek/rpm-builder`. The upstream project ist hosted on
|
||||
[github](https://github.com/Richterrettich/rpm-builder).
|
||||
This project contains only build sources for the container image `git.cryptic.systems/volker.raschek/rpm-builder`. The
|
||||
upstream project ist hosted on [github](https://github.com/Richterrettich/rpm-builder).
|
||||
|
||||
## Usage
|
||||
|
||||
Package an example application like `my-demo-application` via the following
|
||||
example command.
|
||||
Package an example application like `my-demo-application` via the following example command.
|
||||
|
||||
```bash
|
||||
$ docker run \
|
||||
--workdir /workspace \
|
||||
--volume ${PWD}/workspace:rw \
|
||||
--rm \
|
||||
volkerraschek/rpm-builder:latest \
|
||||
git.cryptic.systems/volker.raschek/rpm-builder:latest \
|
||||
--arch=x86_64 \
|
||||
--epoch=0 \
|
||||
--version=0.1.0 \
|
||||
@@ -35,6 +32,6 @@ You get on overview of all possible sub commands via `--help` or visit the
|
||||
```bash
|
||||
$ docker run \
|
||||
--rm \
|
||||
volkerraschek/rpm-builder:latest \
|
||||
git.cryptic.systems/volker.raschek/rpm-builder:latest \
|
||||
--help
|
||||
```
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
image: volkerraschek/rpm-builder:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
||||
{{#if build.tags}}
|
||||
tags:
|
||||
{{#each build.tags}}
|
||||
- {{this}}
|
||||
{{/each}}
|
||||
- "latest"
|
||||
{{/if}}
|
||||
manifests:
|
||||
-
|
||||
image: volkerraschek/rpm-builder:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
||||
platform:
|
||||
architecture: amd64
|
||||
os: linux
|
||||
-
|
||||
image: volkerraschek/rpm-builder:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm-v7
|
||||
platform:
|
||||
architecture: arm
|
||||
os: linux
|
||||
variant: v7
|
||||
-
|
||||
image: volkerraschek/rpm-builder:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-arm64-v8
|
||||
platform:
|
||||
architecture: arm64
|
||||
os: linux
|
||||
variant: v8
|
||||
9
renovate.json
Normal file
9
renovate.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"local>volker.raschek/renovate-config:default#master",
|
||||
"local>volker.raschek/renovate-config:container#master",
|
||||
"local>volker.raschek/renovate-config:actions#master",
|
||||
"local>volker.raschek/renovate-config:regexp#master"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user