Compare commits

..

29 commits

Author SHA1 Message Date
1750b25d43
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:28:48 +02:00
1e5b433b3e
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:26:09 +02:00
0214d3cea4
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:20:07 +02:00
141234f9fe
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:17:51 +02:00
71f008330c
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:16:05 +02:00
e71ed22722
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:14:15 +02:00
402a268a4a
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:13:18 +02:00
bd58210fa8
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:12:16 +02:00
e40d4ee9de
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:10:29 +02:00
e6cfbf9d61
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:09:26 +02:00
4f01fe18fb
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:08:04 +02:00
62c04cafda
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 20:06:45 +02:00
b8abef9994
fix 2025-06-02 20:04:52 +02:00
1b755639ed
fix 2025-06-02 20:03:10 +02:00
b3df97dd89
fix 2025-06-02 20:02:09 +02:00
344872fea9
fix 2025-06-02 20:01:14 +02:00
5393c5df0e
fix 2025-06-02 19:59:49 +02:00
b15dd6bd0d
fix 2025-06-02 19:57:59 +02:00
40eafe2479
fix 2025-06-02 19:57:36 +02:00
231552e478
fix 2025-06-02 19:56:58 +02:00
611a1fa9bd
fix
Some checks failed
ci/woodpecker/push/alertmanager-ntfy Pipeline failed
2025-06-02 19:56:01 +02:00
6acedcc102
Update alertmanager-ntfy 2025-06-02 19:55:13 +02:00
5f6a49c4fd
Update alertmanager-ntfy 2025-06-02 19:54:08 +02:00
7b0f9d40e8
Update alertmanager-ntfy 2025-06-02 19:52:47 +02:00
9b669917f5
Update alertmanager-ntfy 2025-06-02 19:49:59 +02:00
c99edca2ce
Update alertmanager-ntfy 2025-06-02 19:46:17 +02:00
004f445ba5
Update alertmanager-ntfy 2025-06-02 19:39:24 +02:00
876e7f39cb
i try 2025-06-02 19:38:05 +02:00
eb9685a7c2
alertmanager-ntfy 2025-06-02 19:37:33 +02:00
10 changed files with 298 additions and 167 deletions

View file

@ -1,47 +0,0 @@
name: Build Keycloak
on:
workflow_dispatch: {}
push: {}
schedule:
- cron: "@daily"
jobs:
build-container:
name: Build Keycloak Image
runs-on: docker
container:
image: ghcr.io/osscontainertools/kaniko:alpine
strategy:
matrix:
# renovate: datasource=docker depName=quay.io/keycloak/keycloak
keycloak-version: [ 26.6.0 ]
steps:
- name: Install required system packages
run: apk add --no-cache nodejs maven git
- name: Checkout Source Code
uses: actions/checkout@v6
- name: Build attribute-endpoints-provider
run: |
git clone https://git.hamburg.ccc.de/CCCHH/keycloak-attribute-endpoints-provider.git
cd keycloak-attribute-endpoints-provider
mvn -f attribute-endpoints-provider verify
cp attribute-endpoints-provider/target/attribute-endpoints-provider-1.0-SNAPSHOT.jar ${{ forgejo.workspace }}/keycloak/attribute-endpoints-provider.jar
- name: Build Container
env:
KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }}
KANIKO_GIT_HAMBURG_CCC_DE_USER: forgejo-actions
KANIKO_GIT_HAMBURG_CCC_DE_PASSWORD: ${{ secrets.PACKAGES_TOKEN }}
run: /kaniko/executor
--dockerfile="${{forgejo.workspace }}/keycloak/Containerfile"
--context="dir://${{ forgejo.workspace }}/keycloak"
--build-arg=TAG=${{ matrix.keycloak-version }}
--destination=git.hamburg.ccc.de/ccchh/oci-images/keycloak:${{ matrix.keycloak-version }}
--no-push-cache
--credential-helpers=env
--annotation=org.opencontainers.image.ref.name=keycloak
--annotation=org.opencontainers.image.url=${{ forgejo.server_url }}/${{ forgejo.repository }}
--annotation=org.opencontainers.image.source=${{ forgejo.server_url }}/${{ forgejo.repository }}

View file

@ -1,39 +0,0 @@
name: Build Nextcloud
on:
workflow_dispatch: {}
push: {}
schedule:
- cron: "@daily"
jobs:
build-container:
name: Build Nextcloud ${{ matrix.nextcloud-version }} Image
runs-on: docker
container:
image: ghcr.io/osscontainertools/kaniko:alpine
strategy:
matrix:
nextcloud-version: [ 32, 33 ]
steps:
- name: Install required system packages
run: apk add --no-cache nodejs
- name: Checkout Source Code
uses: actions/checkout@v6
- name: Build Container
env:
KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }}
KANIKO_GIT_HAMBURG_CCC_DE_USER: forgejo-actions
KANIKO_GIT_HAMBURG_CCC_DE_PASSWORD: ${{ secrets.PACKAGES_TOKEN }}
run: /kaniko/executor
--dockerfile="${{forgejo.workspace }}/nextcloud/Containerfile"
--context="dir://${{ forgejo.workspace }}/nextcloud"
--build-arg=TAG=${{ matrix.nextcloud-version }}
--destination=git.hamburg.ccc.de/ccchh/oci-images/nextcloud:${{ matrix.nextcloud-version }}
--no-push-cache
--credential-helpers=env
--annotation=org.opencontainers.image.ref.name=nextcloud
--annotation=org.opencontainers.image.url=${{ forgejo.server_url }}/${{ forgejo.repository }}
--annotation=org.opencontainers.image.source=${{ forgejo.server_url }}/${{ forgejo.repository }}

View file

@ -1,61 +0,0 @@
name: Build Penpot
on:
workflow_dispatch: {}
push: {}
schedule:
- cron: "@daily"
jobs:
build-container:
name: Build Image penpot-${{ matrix.image-type }}:${{ matrix.penpot-version }}
runs-on: docker
container:
image: ghcr.io/osscontainertools/kaniko:alpine
strategy:
matrix:
penpot-version: [ "2.1.2" ]
image-type: [ frontend, backend, exporter ]
steps:
- name: Install required system packages
run: apk add --no-cache nodejs git curl
- name: Clone penpot repo
run: |
git clone --branch="${{ matrix.penpot-version }}" https://github.com/penpot/penpot.git "${{ forgejo.workspace }}/penpot"
cd "${{ forgejo.workspace }}/penpot"
git submodule update --init --recursive
- name: Patch penpot to work with kaniko
run: |
cd "${{ forgejo.workspace }}/penpot"
# Get build system patch allowing for building images with kaniko.
# https://github.com/penpot/penpot/pull/4945
# https://github.com/penpot/penpot/pull/4945/commits/752574bac789cc90cc218004bb9545cc6239895d
curl -sSL https://github.com/penpot/penpot/commit/752574bac789cc90cc218004bb9545cc6239895d.patch > 0001-move-entire-image-build-process-into-Dockerfiles.patch
# Get patch disallowing registration with invitation token, when disable-login-with-password flag is set.
# https://github.com/penpot/penpot/issues/4975
# https://github.com/june128/penpot/commit/f799da132bf5a51015859031f45154172fbf7cd0
curl -sSL https://github.com/june128/penpot/commit/f799da132bf5a51015859031f45154172fbf7cd0.patch > 0002-hotfix-dont-allow-registration-with-invite-if-password-login-
# apply patches
git config user.name "Woodpecker"
git config user.email "woodpecker@woodpecker.invalid"
git am *.patch
- name: Build Container
env:
KANIKO_NO_PUSH: ${{ forgejo.ref_name != 'main' }}
KANIKO_GIT_HAMBURG_CCC_DE_USER: forgejo-actions
KANIKO_GIT_HAMBURG_CCC_DE_PASSWORD: ${{ secrets.PACKAGES_TOKEN }}
run: /kaniko/executor
--dockerfile="${{forgejo.workspace }}/penpot/docker/images/Dockerfile.${{ matrix.image-type }}"
--context="dir://${{ forgejo.workspace }}/penpot/"
--destination=git.hamburg.ccc.de/ccchh/oci-images/penpot-${{ matrix.image-type }}:${{ matrix.penpot-version }}
--no-push-cache
--credential-helpers=env
--annotation=org.opencontainers.image.ref.name=penpot-${{ matrix.image-type }}
--annotation=org.opencontainers.image.url=${{ forgejo.server_url }}/${{ forgejo.repository }}
--annotation=org.opencontainers.image.source=${{ forgejo.server_url }}/${{ forgejo.repository }}

View file

@ -0,0 +1,36 @@
when:
- event: push
path:
- 'alertmanager-ntfy/**'
- '.woodpecker/alertmanager-ntfy.yaml'
- event: cron
workspace:
path: src
matrix:
VERSION:
- 76d5f772f70d6915c89da00414c20009b03cc361
IMAGE_NAME:
- git.hamburg.ccc.de/ccchh/oci-images/alertmanager-ntfy
steps:
- name: setup
image: alpine
commands:
- ls
- apk -u add git
- mkdir /woodpecker/images
- git clone https://github.com/alexbakker/alertmanager-ntfy.git alertmanager-ntfy/src
- cd alertmanager-ntfy/src && git checkout ${VERSION} && cd ..
- name: build-image
image: gcr.io/kaniko-project/executor
entrypoint:
- /kaniko/executor
- --context=dir:///woodpecker/src/alertmanager-ntfy
- --dockerfile=./Containerfile
- --destination=git.hamburg.ccc.de/ccchh/oci-images/alertmanager-ntfy:${VERSION}
- --no-push
- --tar-path=/woodpecker/images/alertmanager-ntfy.tar

78
.woodpecker/keycloak.yaml Normal file
View file

@ -0,0 +1,78 @@
when:
- event: push
path:
- 'keycloak/**'
- '.woodpecker/keycloak.yaml'
- event: cron
cron: daily
# Manually set a workspace path, so we can use it literally, without using
# ${CI_WORKSPACE}, when running kaniko, since using ${CI_WORKSPACE} doesn't work.
# https://github.com/woodpecker-ci/woodpecker/issues/3982
workspace:
path: src
# Use matrix to set KEYCLOAK_VERSION instead of setting the KEYCLOAK_VERSION as
# an environment variable in the build-images step, since string substitution
# doesn't work for custom environment variables.
# https://github.com/woodpecker-ci/woodpecker/issues/3983
# Also because global environment variables aren't a thing.
matrix:
KEYCLOAK_VERSION:
- 26.0
- 26.1
- 26.2
IMAGE_NAME:
- git.hamburg.ccc.de/ccchh/oci-images/keycloak
steps:
- name: setup-image-path
image: alpine
commands:
- mkdir /woodpecker/images
- name: build-image
image: gcr.io/kaniko-project/executor
entrypoint:
- /kaniko/executor
- --context=dir:///woodpecker/src/keycloak
- --dockerfile=./Containerfile
- --build-arg=TAG=${KEYCLOAK_VERSION}
- --destination=${IMAGE_NAME}:${KEYCLOAK_VERSION}
- --no-push
- --tar-path=/woodpecker/images/keycloak.tar
- name: publish-image
image: alpine
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane push /woodpecker/images/keycloak.tar $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH
- name: tag-version
image: alpine
when:
- branch: main
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH $KEYCLOAK_VERSION
- name: tag-latest
image: alpine
when:
- branch: main
evaluate: 'KEYCLOAK_VERSION == "26.0"'
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$KEYCLOAK_VERSION-$CI_COMMIT_BRANCH latest

View file

@ -0,0 +1,78 @@
when:
- event: push
path:
- 'nextcloud/**'
- '.woodpecker/nextcloud.yaml'
- event: cron
cron: daily
# Manually set a workspace path, so we can use it literally, without using
# ${CI_WORKSPACE}, when running kaniko, since using ${CI_WORKSPACE} doesn't work.
# https://github.com/woodpecker-ci/woodpecker/issues/3982
workspace:
path: src
# Use matrix to set NEXTCLOUD_VERSION instead of setting the NEXTCLOUD_VERSION as
# an environment variable in the build-images step, since string substitution
# doesn't work for custom environment variables.
# https://github.com/woodpecker-ci/woodpecker/issues/3983
# Also because global environment variables aren't a thing.
matrix:
NEXTCLOUD_VERSION:
- 29
- 30
- 31
IMAGE_NAME:
- git.hamburg.ccc.de/ccchh/oci-images/nextcloud
steps:
- name: setup-image-path
image: docker.io/library/alpine
commands:
- mkdir /woodpecker/images
- name: build-image
image: gcr.io/kaniko-project/executor
entrypoint:
- /kaniko/executor
- --context=dir:///woodpecker/src/nextcloud
- --dockerfile=./Containerfile
- --build-arg=TAG=${NEXTCLOUD_VERSION}
- --destination=${IMAGE_NAME}:${NEXTCLOUD_VERSION}
- --no-push
- --tar-path=/woodpecker/images/nextcloud.tar
- name: publish-image
image: docker.io/library/alpine
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane push /woodpecker/images/nextcloud.tar $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH
- name: tag-version
image: docker.io/library/alpine
when:
- branch: main
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH $NEXTCLOUD_VERSION
- name: tag-latest
image: docker.io/library/alpine
when:
- branch: main
evaluate: 'NEXTCLOUD_VERSION == "29"'
environment:
GIT_API_TOKEN:
from_secret: GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_NAME:$NEXTCLOUD_VERSION-$CI_COMMIT_BRANCH latest

View file

@ -0,0 +1,11 @@
FROM docker.io/library/golang:1 as builder
ARG CGO_ENABLED=0
WORKDIR /usr/src/app
COPY src/go.mod src/go.sum ./
RUN go mod download
COPY src/. .
RUN go build -v -o /usr/local/bin/app ./...
CMD ["app"]

View file

@ -2,10 +2,8 @@ ARG TAG=latest
FROM quay.io/keycloak/keycloak:${TAG} as builder
ENV KC_DB=postgres
ENV KC_FEATURES=declarative-ui
WORKDIR /opt/keycloak
ADD --chown=keycloak:keycloak --chmod=644 attribute-endpoints-provider.jar /opt/keycloak/providers/attribute-endpoints-provider.jar
RUN /opt/keycloak/bin/kc.sh build
FROM quay.io/keycloak/keycloak:${TAG}

95
penpot.yaml Normal file
View file

@ -0,0 +1,95 @@
when:
- event: push
path:
- 'penpot/**'
- '.woodpecker/penpot.yaml'
- event: cron
cron: daily
# Manually set a workspace path, so we can use it literally, without using
# ${CI_WORKSPACE}, when running kaniko, since using ${CI_WORKSPACE} doesn't work.
# https://github.com/woodpecker-ci/woodpecker/issues/3982
workspace:
path: src
# Use matrix to set PENPOT_VERSION instead of setting the PENPOT_VERSION as an
# environment variable in the build-images step, since string substitution
# doesn't work for custom environment variables.
# https://github.com/woodpecker-ci/woodpecker/issues/3983
# Also because global environment variables aren't a thing.
matrix:
PENPOT_VERSION:
- 2.1.2
IMAGE_BASE_NAME:
- git.hamburg.ccc.de/ccchh/oci-images/penpot
IMAGE_TYPE:
- frontend
- backend
- exporter
steps:
- name: setup-image-path
image: alpine
commands:
- mkdir /woodpecker/images
- name: setup-penpot-repo
image: alpine
commands:
- apk -u add git curl
- git clone --branch $PENPOT_VERSION https://github.com/penpot/penpot.git /woodpecker/penpot
- cd /woodpecker/penpot
- git submodule update --init --recursive
# Get build system patch allowing for building images with kaniko.
# https://github.com/penpot/penpot/pull/4945
# https://github.com/penpot/penpot/pull/4945/commits/752574bac789cc90cc218004bb9545cc6239895d
- curl https://github.com/penpot/penpot/commit/752574bac789cc90cc218004bb9545cc6239895d.patch > 0001-move-entire-image-build-process-into-Dockerfiles.patch
# Get patch disallowing registration with invitation token, when disable-login-with-password flag is set.
# https://github.com/penpot/penpot/issues/4975
# https://github.com/june128/penpot/commit/f799da132bf5a51015859031f45154172fbf7cd0
- curl https://github.com/june128/penpot/commit/f799da132bf5a51015859031f45154172fbf7cd0.patch > 0002-hotfix-dont-allow-registration-with-invite-if-password-login-is-disabled.patch
- git config user.name "Woodpecker"
- git config user.email "woodpecker@woodpecker.invalid"
- git am *.patch
- name: build-image
image: gcr.io/kaniko-project/executor
entrypoint:
- /kaniko/executor
- --context=dir:///woodpecker/penpot
- --dockerfile=./docker/images/Dockerfile.${IMAGE_TYPE}
- --destination=${IMAGE_BASE_NAME}/${IMAGE_TYPE}:${PENPOT_VERSION}
- --no-push
- --tar-path=/woodpecker/images/penpot-${IMAGE_TYPE}.tar
- name: publish-image
image: docker.io/library/alpine
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane push /woodpecker/images/penpot-$IMAGE_TYPE.tar $IMAGE_BASE_NAME/$IMAGE_TYPE:$PENPOT_VERSION-$CI_COMMIT_BRANCH
- name: tag-version
image: docker.io/library/alpine
when:
- branch: main
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_BASE_NAME/$IMAGE_TYPE:$PENPOT_VERSION-$CI_COMMIT_BRANCH $PENPOT_VERSION
- name: tag-latest
image: docker.io/library/alpine
when:
- branch: main
evaluate: 'PENPOT_VERSION == "2.1.2"'
secrets:
- GIT_API_TOKEN
commands:
- apk -u add crane
- crane auth login git.hamburg.ccc.de -u woodpecker -p $GIT_API_TOKEN
- crane tag $IMAGE_BASE_NAME/$IMAGE_TYPE:$PENPOT_VERSION-$CI_COMMIT_BRANCH latest

View file

@ -1,18 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"customManagers": [
// Custom manager using regex for letting Renovate find dependencies in woodpecker Matrix variables.
{
"customType": "regex",
"managerFilePatterns": [
"/^\\.woodpecker/.*\\.ya?ml$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-zA-Z0-9-._]+?) depName=(?<depName>[^\\s]+?)(?: packageName=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?\\s*-\\s*[\"']?(?<currentValue>.+?)[\"']?\\s"
]
}
]
}