From b1e883a3373ebda1fed8baa9d8cac32c6d5b5c64 Mon Sep 17 00:00:00 2001 From: xengi Date: Fri, 13 Feb 2026 20:52:12 +0100 Subject: [PATCH] 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