From b1e883a3373ebda1fed8baa9d8cac32c6d5b5c64 Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:52:12 +0100 Subject: [PATCH 01/40] Add .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .forgejo/workflows/deploy.yaml diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml new file mode 100644 index 0000000..781f623 --- /dev/null +++ b/.forgejo/workflows/deploy.yaml @@ -0,0 +1,46 @@ +name: deploy blog +on: + workflow_dispatch: + push: + branches: + - staging + - production + +jobs: + deploy: + runs-on: some-runner + secrets: + SSH_PRIVATE_KEY: keep_it_private + steps: + - uses: actions/checkout@v6 + with: + ref: forgejo.ref + - uses: actions/setup-go@v6 + with: + go-version: 'stable' + - run: go version + - run: go install github.com/gohugoio/hugo@latest + + - uses: actions/setup-python@v6 + with: + python-version-file: '.python-version' + - run: python --version + - run: pip install -r requirements.txt + + - name: Render site + run: ./build.sh + + - name: Setup SSH key + run: | + echo ${{ secrets.SSH_PRIVATE_KEY }} > id_ed25519 + chmod 600 id_ed25519 + - name: Sync rendered site to staging + if: forgejo.ref == 'refs/heads/staging' + run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + continue-on-error: true + - name: Sync rendered site to production + if: forgejo.ref == 'refs/heads/production' + run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + continue-on-error: true + - name: Cleanup + run: rm -rf id_ed25519 From 3543f391feb5b06eefb30fe9d93c9f0a264f911c Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:52:45 +0100 Subject: [PATCH 02/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 781f623..fc13800 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -4,7 +4,7 @@ on: push: branches: - staging - - production + - production jobs: deploy: From 90a0a6e4413025d7ba4f7e288b5a6f86a1ea692f Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:53:30 +0100 Subject: [PATCH 03/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index fc13800..313e980 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,7 +9,7 @@ on: jobs: deploy: runs-on: some-runner - secrets: + secrets: SSH_PRIVATE_KEY: keep_it_private steps: - uses: actions/checkout@v6 From afd638d21b8466897d66a2f25723b8501bda8ea6 Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:54:59 +0100 Subject: [PATCH 04/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 36 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 313e980..a690ab4 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -19,28 +19,28 @@ jobs: with: go-version: 'stable' - run: go version - - run: go install github.com/gohugoio/hugo@latest + - run: go install github.com/gohugoio/hugo@latest - uses: actions/setup-python@v6 with: python-version-file: '.python-version' - run: python --version - - run: pip install -r requirements.txt + - run: pip install -r requirements.txt - - name: Render site - run: ./build.sh - - - name: Setup SSH key - run: | - echo ${{ secrets.SSH_PRIVATE_KEY }} > id_ed25519 - chmod 600 id_ed25519 - - name: Sync rendered site to staging - if: forgejo.ref == 'refs/heads/staging' - run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ - continue-on-error: true + - name: Render site + run: ./build.sh + + - name: Setup SSH key + run: | + echo ${{ secrets.SSH_PRIVATE_KEY }} > id_ed25519 + chmod 600 id_ed25519 + - name: Sync rendered site to staging + if: forgejo.ref == 'refs/heads/staging' + run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + continue-on-error: true - name: Sync rendered site to production - if: forgejo.ref == 'refs/heads/production' - run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ - continue-on-error: true - - name: Cleanup - run: rm -rf id_ed25519 + if: forgejo.ref == 'refs/heads/production' + run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + continue-on-error: true + - name: Cleanup + run: rm -rf id_ed25519 From ead5a73a57fb01159708ae3e15ea8db50f4eeb14 Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:58:33 +0100 Subject: [PATCH 05/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index a690ab4..adcbf82 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -8,7 +8,7 @@ on: jobs: deploy: - runs-on: some-runner + runs-on: ubuntu-latest secrets: SSH_PRIVATE_KEY: keep_it_private steps: From 94c189a794ac31081d35ea013c93e3f2e1dc6f6f Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:04:37 +0100 Subject: [PATCH 06/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index adcbf82..7dee337 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -15,17 +15,17 @@ jobs: - uses: actions/checkout@v6 with: ref: forgejo.ref - - uses: actions/setup-go@v6 - with: - go-version: 'stable' - - run: go version - - run: go install github.com/gohugoio/hugo@latest - - uses: actions/setup-python@v6 - with: - python-version-file: '.python-version' - - run: python --version - - run: pip install -r requirements.txt + - name: Install dependencies + run: apk --no-cache add hugo python3 py3-pip + + - name: Check install + run: | + hugo version + python --version + + - name: Install Python depenndencies + run: python -m pip install -r requirements.txt - name: Render site run: ./build.sh From 3fa8bb537dfcf38c4aa9c15f692d0bbedc9ef98a Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:06:08 +0100 Subject: [PATCH 07/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 7dee337..2fc5c65 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,8 +9,6 @@ on: jobs: deploy: runs-on: ubuntu-latest - secrets: - SSH_PRIVATE_KEY: keep_it_private steps: - uses: actions/checkout@v6 with: From a4d258384e51aef935c62335ecfeeb13ce76a29c Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:07:35 +0100 Subject: [PATCH 08/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 2fc5c65..6c7027b 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,10 +9,13 @@ on: jobs: deploy: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - with: - ref: forgejo.ref + steps: + - run: | + pwd + ls -la + apk --no-cache add git + git status + exit 1 - name: Install dependencies run: apk --no-cache add hugo python3 py3-pip From b74d61cc480f1f253acdfb34a31f7045ca729da3 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:12:09 +0100 Subject: [PATCH 09/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 6c7027b..040d3e7 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -10,10 +10,10 @@ jobs: deploy: runs-on: ubuntu-latest steps: - - run: | - pwd - ls -la + - name: Checkout repo + run: | apk --no-cache add git + git clone -b ${{ env.FORGEJO_REF_NAME }} https://git.berlin.ccc.de/cccb-website-team/www.git . git status exit 1 From ca6dc3d16eea1108fbcb7c584f06bd0955658750 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:16:54 +0100 Subject: [PATCH 10/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 040d3e7..e0b7704 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,22 +9,23 @@ on: jobs: deploy: runs-on: ubuntu-latest - steps: - - name: Checkout repo - run: | - apk --no-cache add git - git clone -b ${{ env.FORGEJO_REF_NAME }} https://git.berlin.ccc.de/cccb-website-team/www.git . - git status - exit 1 - + steps: - name: Install dependencies - run: apk --no-cache add hugo python3 py3-pip - + run: apk --no-cache add hugo python3 py3-pip git + - name: Check install run: | + cat /etc/os-release + git version hugo version python --version + - name: Checkout repo + run: | + git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . + git status + exit 1 + - name: Install Python depenndencies run: python -m pip install -r requirements.txt @@ -36,11 +37,11 @@ jobs: echo ${{ secrets.SSH_PRIVATE_KEY }} > id_ed25519 chmod 600 id_ed25519 - name: Sync rendered site to staging - if: forgejo.ref == 'refs/heads/staging' + if: forgejo.ref_name == 'staging' run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production - if: forgejo.ref == 'refs/heads/production' + if: forgejo.ref_name == 'production' run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From e0cad17e4eb7144d87e1393bcccf3bbc1dacf5d8 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:19:46 +0100 Subject: [PATCH 11/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index e0b7704..6c41cd8 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,7 +9,14 @@ on: jobs: deploy: runs-on: ubuntu-latest - steps: + steps: + - name: System checks + run: | + ip a + ip r + ip -6 r + cat /etc/resolv.conf + - name: Install dependencies run: apk --no-cache add hugo python3 py3-pip git From ef0df4877d80c965a2156f2908cdc3b0baf2c0ef Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:31:22 +0100 Subject: [PATCH 12/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 6c41cd8..3e753e9 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,14 +9,7 @@ on: jobs: deploy: runs-on: ubuntu-latest - steps: - - name: System checks - run: | - ip a - ip r - ip -6 r - cat /etc/resolv.conf - + steps: - name: Install dependencies run: apk --no-cache add hugo python3 py3-pip git @@ -27,29 +20,33 @@ jobs: hugo version python --version + - name: Install Python depenndencies + run: python -m pip install -r requirements.txt + - name: Checkout repo run: | git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . git status - exit 1 - - - name: Install Python depenndencies - run: python -m pip install -r requirements.txt - name: Render site run: ./build.sh - name: Setup SSH key run: | - echo ${{ secrets.SSH_PRIVATE_KEY }} > id_ed25519 - chmod 600 id_ed25519 + mkdir -p .ssh + echo ${{ secrets.SSH_PRIVATE_KEY }} > .ssh/id_ed25519 + chmod 600 .ssh/id_ed25519 + ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub + cat .ssh/id_ed25519.pub + - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true + - name: Cleanup - run: rm -rf id_ed25519 + run: rm -rf .ssh From 8a7f18ff1fddfec3eabe840bd82c9627d84b058b Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:33:22 +0100 Subject: [PATCH 13/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 3e753e9..72cb380 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -21,7 +21,7 @@ jobs: python --version - name: Install Python depenndencies - run: python -m pip install -r requirements.txt + run: python -m pip install -r requirements.txt --break-system-packages - name: Checkout repo run: | From 4c616c95a0849739e4141aab1cdc249572652a0d Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 13:33:55 +0100 Subject: [PATCH 14/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 72cb380..5f1b131 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -19,15 +19,15 @@ jobs: git version hugo version python --version - - - name: Install Python depenndencies - run: python -m pip install -r requirements.txt --break-system-packages - name: Checkout repo run: | git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . git status + - name: Install Python depenndencies + run: python -m pip install -r requirements.txt --break-system-packages + - name: Render site run: ./build.sh From a649617fae62fce121fee9b302c22423387f30d7 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 15:06:24 +0100 Subject: [PATCH 15/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 5f1b131..c6e17fb 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -32,9 +32,18 @@ jobs: run: ./build.sh - name: Setup SSH key + if: forgejo.ref_name == 'staging' run: | mkdir -p .ssh - echo ${{ secrets.SSH_PRIVATE_KEY }} > .ssh/id_ed25519 + echo ${{ secrets.SSH_PRIVATE_KEY_STAGING }} > .ssh/id_ed25519 + + - name: Setup SSH key + if: forgejo.ref_name == 'production' + run: | + mkdir -p .ssh + echo ${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }} > .ssh/id_ed25519 + + - name: Check SSH key chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub cat .ssh/id_ed25519.pub From 2e059ecd21a4b93c6a4e35075007afcb04fceebe Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 15:08:39 +0100 Subject: [PATCH 16/40] Update .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index c6e17fb..506894f 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -36,14 +36,15 @@ jobs: run: | mkdir -p .ssh echo ${{ secrets.SSH_PRIVATE_KEY_STAGING }} > .ssh/id_ed25519 + chmod 600 .ssh/id_ed25519 + ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub + cat .ssh/id_ed25519.pub - name: Setup SSH key if: forgejo.ref_name == 'production' run: | mkdir -p .ssh echo ${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }} > .ssh/id_ed25519 - - - name: Check SSH key chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub cat .ssh/id_ed25519.pub From 6a648717b726f085af7f30bfdd1aec5c5dbab564 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:34:16 +0100 Subject: [PATCH 17/40] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 134909f..c61ba7f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ icalendar==5.0.7 +pytz \ No newline at end of file From a09f536d490f20ef9c488a0ec14ab04e4d8825f5 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:38:44 +0100 Subject: [PATCH 18/40] Update content/post/2025-dg-call-for-action/index.md --- content/post/2025-dg-call-for-action/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/2025-dg-call-for-action/index.md b/content/post/2025-dg-call-for-action/index.md index 96bea90..a3f4df0 100644 --- a/content/post/2025-dg-call-for-action/index.md +++ b/content/post/2025-dg-call-for-action/index.md @@ -22,7 +22,7 @@ _Talks in German and English are welcome!_ **Kontakt / Contact:** - + {{< icon "mastodon" >}} **Mastodon-DM:** https://chaos.social/@clubdiscordia From faf2dbe95a67398faaaef25ec7287de494c01ba9 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:42:51 +0100 Subject: [PATCH 19/40] Add layouts/shortcodes/icon.html --- layouts/shortcodes/icon.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 layouts/shortcodes/icon.html diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html new file mode 100644 index 0000000..d0a67aa --- /dev/null +++ b/layouts/shortcodes/icon.html @@ -0,0 +1 @@ + \ No newline at end of file From 865c896f0d98032b10c157ee272df441503d9eea Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:43:56 +0100 Subject: [PATCH 20/40] Delete layouts/shortcodes/icon.html --- layouts/shortcodes/icon.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 layouts/shortcodes/icon.html diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html deleted file mode 100644 index d0a67aa..0000000 --- a/layouts/shortcodes/icon.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From c28addaf2e5d18d1cef701f4620075f3ab5724f7 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:44:38 +0100 Subject: [PATCH 21/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 506894f..0884f87 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -22,7 +22,7 @@ jobs: - name: Checkout repo run: | - git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . + git clone -b ${{ forgejo.ref_name }} --recursive https://git.berlin.ccc.de/cccb-website-team/www.git . git status - name: Install Python depenndencies From f303d7faba06f7d2ffa85f049fe1b1fb71d80125 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:48:53 +0100 Subject: [PATCH 22/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 0884f87..8e3a970 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -35,7 +35,7 @@ jobs: if: forgejo.ref_name == 'staging' run: | mkdir -p .ssh - echo ${{ secrets.SSH_PRIVATE_KEY_STAGING }} > .ssh/id_ed25519 + echo "${{ secrets.SSH_PRIVATE_KEY_STAGING }}" | base64 -d > .ssh/id_ed25519 chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub cat .ssh/id_ed25519.pub @@ -44,7 +44,7 @@ jobs: if: forgejo.ref_name == 'production' run: | mkdir -p .ssh - echo ${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }} > .ssh/id_ed25519 + echo "${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }}" | base64 -d > .ssh/id_ed25519 chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub cat .ssh/id_ed25519.pub From 33653eb1d5081fba0e51e4c573077bb23a09e7cf Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:51:13 +0100 Subject: [PATCH 23/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 8e3a970..23bbc86 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install dependencies - run: apk --no-cache add hugo python3 py3-pip git + run: apk --no-cache add hugo python3 py3-pip git openssh-client - name: Check install run: | From 92ad2f06f6fa041f042e2a7a1574a57be65fa6d3 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:52:42 +0100 Subject: [PATCH 24/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 23bbc86..2f69379 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install dependencies - run: apk --no-cache add hugo python3 py3-pip git openssh-client + run: apk --no-cache add hugo python3 py3-pip git openssh-client rsync - name: Check install run: | From 52a09f97e5be6e4ff37548b40202d6c4eb835096 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 17:03:17 +0100 Subject: [PATCH 25/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 2f69379..5d3a053 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -31,10 +31,15 @@ jobs: - name: Render site run: ./build.sh + - name: Setup SSH + run: | + mkdir -p -m0700 .ssh + echo "${{ secrets.KNOWN_HOSTS }}" | base64 -d > .ssh/known_hosts + chmod 644 .ssh/known_hosts + - name: Setup SSH key if: forgejo.ref_name == 'staging' run: | - mkdir -p .ssh echo "${{ secrets.SSH_PRIVATE_KEY_STAGING }}" | base64 -d > .ssh/id_ed25519 chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub @@ -43,7 +48,6 @@ jobs: - name: Setup SSH key if: forgejo.ref_name == 'production' run: | - mkdir -p .ssh echo "${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }}" | base64 -d > .ssh/id_ed25519 chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub @@ -51,11 +55,11 @@ jobs: - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -O "HostKeyAlgorithms=ssh-ed25519"' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -O "HostKeyAlgorithms=ssh-ed25519"' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From 2f0f720bbf01d53d9c2dc1ca1ae52a7e76ce9c5b Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 17:04:57 +0100 Subject: [PATCH 26/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 5d3a053..bbb65cd 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -55,11 +55,11 @@ jobs: - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -O "HostKeyAlgorithms=ssh-ed25519"' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o HostKeyAlgorithms=ssh-ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -O "HostKeyAlgorithms=ssh-ed25519"' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o HostKeyAlgorithms=ssh-ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From 216a170219045feba6392179e58e4274be31bc64 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 17:10:49 +0100 Subject: [PATCH 27/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index bbb65cd..be216af 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -33,9 +33,8 @@ jobs: - name: Setup SSH run: | - mkdir -p -m0700 .ssh + mkdir -p .ssh echo "${{ secrets.KNOWN_HOSTS }}" | base64 -d > .ssh/known_hosts - chmod 644 .ssh/known_hosts - name: Setup SSH key if: forgejo.ref_name == 'staging' From 85b0c78164b64f831e715a76c82d655d2f16d458 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 17:12:45 +0100 Subject: [PATCH 28/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index be216af..3fa01ca 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -54,11 +54,11 @@ jobs: - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o HostKeyAlgorithms=ssh-ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o HostKeyAlgorithms=ssh-ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From bc44cc03f6ff705ef0a30f722235102f56627ba8 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:14:17 +0100 Subject: [PATCH 29/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 3fa01ca..d172e07 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -54,11 +54,11 @@ jobs: - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From db01cd50b722af5777ca21c77682903c9309a862 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:16:41 +0100 Subject: [PATCH 30/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index d172e07..3fa01ca 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -54,11 +54,11 @@ jobs: - name: Sync rendered site to staging if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ continue-on-error: true - name: Sync rendered site to production if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ continue-on-error: true - name: Cleanup From 27ef15a13df996298d42b2b2d55cc80f4a1f9833 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:28:08 +0100 Subject: [PATCH 31/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 3fa01ca..ab34bac 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -32,34 +32,23 @@ jobs: run: ./build.sh - name: Setup SSH + env: + SSH_PRIVATE_KEY: ${{ forgejo.ref_name == 'production' && secrets.SSH_PRIVATE_KEY_PRODUCTION || secrets.SSH_PRIVATE_KEY_STAGING }} run: | mkdir -p .ssh echo "${{ secrets.KNOWN_HOSTS }}" | base64 -d > .ssh/known_hosts - - - name: Setup SSH key - if: forgejo.ref_name == 'staging' - run: | - echo "${{ secrets.SSH_PRIVATE_KEY_STAGING }}" | base64 -d > .ssh/id_ed25519 - chmod 600 .ssh/id_ed25519 - ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub - cat .ssh/id_ed25519.pub - - - name: Setup SSH key - if: forgejo.ref_name == 'production' - run: | - echo "${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }}" | base64 -d > .ssh/id_ed25519 + printf "%s" "$SSH_PRIVATE_KEY" | base64 -d > .ssh/id_ed25519 chmod 600 .ssh/id_ed25519 ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub cat .ssh/id_ed25519.pub - name: Sync rendered site to staging - if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ - continue-on-error: true - - name: Sync rendered site to production - if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ - continue-on-error: true + env: + DEPLOY_DIR: ${{ forgejo.ref_name == 'production' && '/srv/http/www/' || '/srv/http/www-staging/' }} + run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR + + - run: cat ~/.ssh/known_hosts - name: Cleanup + if: ${{ always() }} run: rm -rf .ssh From 4d2009085343c9814588ebf7ed7ddb80e9ec6807 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:31:09 +0100 Subject: [PATCH 32/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index ab34bac..f8eb449 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -35,20 +35,18 @@ jobs: env: SSH_PRIVATE_KEY: ${{ forgejo.ref_name == 'production' && secrets.SSH_PRIVATE_KEY_PRODUCTION || secrets.SSH_PRIVATE_KEY_STAGING }} run: | - mkdir -p .ssh - echo "${{ secrets.KNOWN_HOSTS }}" | base64 -d > .ssh/known_hosts - printf "%s" "$SSH_PRIVATE_KEY" | base64 -d > .ssh/id_ed25519 - chmod 600 .ssh/id_ed25519 - ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub - cat .ssh/id_ed25519.pub + mkdir -p ~/.ssh + printf "%s" "${{ secrets.KNOWN_HOSTS }}" | base64 -d > ~/.ssh/known_hosts + printf "%s" "$SSH_PRIVATE_KEY" | base64 -d > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keygen -f ~/.ssh/id_ed25519 -y > ~/.ssh/id_ed25519.pub + cat ~/.ssh/id_ed25519.pub - name: Sync rendered site to staging env: DEPLOY_DIR: ${{ forgejo.ref_name == 'production' && '/srv/http/www/' || '/srv/http/www-staging/' }} - run: rsync -var -e 'ssh -i .ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR - - - run: cat ~/.ssh/known_hosts + run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR - name: Cleanup if: ${{ always() }} - run: rm -rf .ssh + run: rm -rf ~/.ssh From c2cbeec0e5e9848840c7be59d972bb3b00f9f9e2 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:32:40 +0100 Subject: [PATCH 33/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index f8eb449..a7f4f2b 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -45,7 +45,7 @@ jobs: - name: Sync rendered site to staging env: DEPLOY_DIR: ${{ forgejo.ref_name == 'production' && '/srv/http/www/' || '/srv/http/www-staging/' }} - run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR + run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR - name: Cleanup if: ${{ always() }} From 1eb7df1eb0618397bafdfd7d18175efc022337f3 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 19:43:13 +0100 Subject: [PATCH 34/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index a7f4f2b..132d9af 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -13,14 +13,14 @@ jobs: - name: Install dependencies run: apk --no-cache add hugo python3 py3-pip git openssh-client rsync - - name: Check install + - name: Check versions run: | cat /etc/os-release git version hugo version python --version - - name: Checkout repo + - name: Checkout repository run: | git clone -b ${{ forgejo.ref_name }} --recursive https://git.berlin.ccc.de/cccb-website-team/www.git . git status @@ -42,10 +42,10 @@ jobs: ssh-keygen -f ~/.ssh/id_ed25519 -y > ~/.ssh/id_ed25519.pub cat ~/.ssh/id_ed25519.pub - - name: Sync rendered site to staging + - name: Rsync rendered site env: DEPLOY_DIR: ${{ forgejo.ref_name == 'production' && '/srv/http/www/' || '/srv/http/www-staging/' }} - run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR + run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=yes' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR - name: Cleanup if: ${{ always() }} From 550013a8fff74d4e91baca04fb4db0721faf8db0 Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:52:12 +0100 Subject: [PATCH 35/40] Add .forgejo/workflows/deploy.yaml Signed-off-by: xengi --- .forgejo/workflows/deploy.yaml | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .forgejo/workflows/deploy.yaml diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml new file mode 100644 index 0000000..506894f --- /dev/null +++ b/.forgejo/workflows/deploy.yaml @@ -0,0 +1,62 @@ +name: deploy blog +on: + workflow_dispatch: + push: + branches: + - staging + - production + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Install dependencies + run: apk --no-cache add hugo python3 py3-pip git + + - name: Check install + run: | + cat /etc/os-release + git version + hugo version + python --version + + - name: Checkout repo + run: | + git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . + git status + + - name: Install Python depenndencies + run: python -m pip install -r requirements.txt --break-system-packages + + - name: Render site + run: ./build.sh + + - name: Setup SSH key + if: forgejo.ref_name == 'staging' + run: | + mkdir -p .ssh + echo ${{ secrets.SSH_PRIVATE_KEY_STAGING }} > .ssh/id_ed25519 + chmod 600 .ssh/id_ed25519 + ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub + cat .ssh/id_ed25519.pub + + - name: Setup SSH key + if: forgejo.ref_name == 'production' + run: | + mkdir -p .ssh + echo ${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }} > .ssh/id_ed25519 + chmod 600 .ssh/id_ed25519 + ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub + cat .ssh/id_ed25519.pub + + - name: Sync rendered site to staging + if: forgejo.ref_name == 'staging' + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ + continue-on-error: true + - name: Sync rendered site to production + if: forgejo.ref_name == 'production' + run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ + continue-on-error: true + + - name: Cleanup + run: rm -rf .ssh From 73b27d6bae8e68602ab2b234635224ec9a2c775a Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:34:16 +0100 Subject: [PATCH 36/40] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 134909f..c61ba7f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ icalendar==5.0.7 +pytz \ No newline at end of file From e6de2cd933d9b582b2055045cb6d125c80165b6d Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:38:44 +0100 Subject: [PATCH 37/40] Update content/post/2025-dg-call-for-action/index.md --- content/post/2025-dg-call-for-action/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/2025-dg-call-for-action/index.md b/content/post/2025-dg-call-for-action/index.md index 96bea90..a3f4df0 100644 --- a/content/post/2025-dg-call-for-action/index.md +++ b/content/post/2025-dg-call-for-action/index.md @@ -22,7 +22,7 @@ _Talks in German and English are welcome!_ **Kontakt / Contact:** - + {{< icon "mastodon" >}} **Mastodon-DM:** https://chaos.social/@clubdiscordia From 32a7ad14f11e9a50df4c92c5f19a25213fc79ff0 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:42:51 +0100 Subject: [PATCH 38/40] Add layouts/shortcodes/icon.html --- layouts/shortcodes/icon.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 layouts/shortcodes/icon.html diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html new file mode 100644 index 0000000..d0a67aa --- /dev/null +++ b/layouts/shortcodes/icon.html @@ -0,0 +1 @@ + \ No newline at end of file From c16196e01fc042ca5d93b0987cd9611d30e97fc4 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:43:56 +0100 Subject: [PATCH 39/40] Delete layouts/shortcodes/icon.html --- layouts/shortcodes/icon.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 layouts/shortcodes/icon.html diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html deleted file mode 100644 index d0a67aa..0000000 --- a/layouts/shortcodes/icon.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From ffa2f2ed6ce59b4ad1bb7cea2c0625acf83aae63 Mon Sep 17 00:00:00 2001 From: xengi Date: Sun, 15 Feb 2026 16:44:38 +0100 Subject: [PATCH 40/40] Update .forgejo/workflows/deploy.yaml --- .forgejo/workflows/deploy.yaml | 48 ++++++++++++++-------------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 506894f..132d9af 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -11,18 +11,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Install dependencies - run: apk --no-cache add hugo python3 py3-pip git + run: apk --no-cache add hugo python3 py3-pip git openssh-client rsync - - name: Check install + - name: Check versions run: | cat /etc/os-release git version hugo version python --version - - name: Checkout repo + - name: Checkout repository run: | - git clone -b ${{ forgejo.ref_name }} https://git.berlin.ccc.de/cccb-website-team/www.git . + git clone -b ${{ forgejo.ref_name }} --recursive https://git.berlin.ccc.de/cccb-website-team/www.git . git status - name: Install Python depenndencies @@ -31,32 +31,22 @@ jobs: - name: Render site run: ./build.sh - - name: Setup SSH key - if: forgejo.ref_name == 'staging' + - name: Setup SSH + env: + SSH_PRIVATE_KEY: ${{ forgejo.ref_name == 'production' && secrets.SSH_PRIVATE_KEY_PRODUCTION || secrets.SSH_PRIVATE_KEY_STAGING }} run: | - mkdir -p .ssh - echo ${{ secrets.SSH_PRIVATE_KEY_STAGING }} > .ssh/id_ed25519 - chmod 600 .ssh/id_ed25519 - ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub - cat .ssh/id_ed25519.pub + mkdir -p ~/.ssh + printf "%s" "${{ secrets.KNOWN_HOSTS }}" | base64 -d > ~/.ssh/known_hosts + printf "%s" "$SSH_PRIVATE_KEY" | base64 -d > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keygen -f ~/.ssh/id_ed25519 -y > ~/.ssh/id_ed25519.pub + cat ~/.ssh/id_ed25519.pub - - name: Setup SSH key - if: forgejo.ref_name == 'production' - run: | - mkdir -p .ssh - echo ${{ secrets.SSH_PRIVATE_KEY_PRODUCTION }} > .ssh/id_ed25519 - chmod 600 .ssh/id_ed25519 - ssh-keygen -f .ssh/id_ed25519 -y > .ssh/id_ed25519.pub - cat .ssh/id_ed25519.pub - - - name: Sync rendered site to staging - if: forgejo.ref_name == 'staging' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www-staging/ - continue-on-error: true - - name: Sync rendered site to production - if: forgejo.ref_name == 'production' - run: rsync -var -e 'ssh -i .ssh/id_ed25519' ./public/ deploy@www.berlin.ccc.de:srv/http/www/ - continue-on-error: true + - name: Rsync rendered site + env: + DEPLOY_DIR: ${{ forgejo.ref_name == 'production' && '/srv/http/www/' || '/srv/http/www-staging/' }} + run: rsync -var -e 'ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=yes' ./public/ deploy@www.berlin.ccc.de:$DEPLOY_DIR - name: Cleanup - run: rm -rf .ssh + if: ${{ always() }} + run: rm -rf ~/.ssh