diff --git a/.forgejo/workflows/zola.yaml b/.forgejo/workflows/zola.yaml index e69de29..0758c20 100644 --- a/.forgejo/workflows/zola.yaml +++ b/.forgejo/workflows/zola.yaml @@ -0,0 +1,59 @@ + name: Deploy Zola site + + env: + ZOLA_VERSION: 0.21.0 + + on: + push: + branches: + - main + workflow_dispatch: + + jobs: + build: + runs-on: codeberg-tiny-lazy + container: + image: "alpine:edge" + steps: + - name: Install CI prerequisites + run: | + apk upgrade -Ua + apk add nodejs git 'zola=~${{ env.ZOLA_VERSION }}' + - name: Clone the repository + uses: https://code.forgejo.org/actions/checkout@v5 + with: + submodules: recursive + fetch-depth: 0 + - name: Generate static files with Zola + run: | + zola build + - name: Upload generated files + uses: https://code.forgejo.org/actions/upload-artifact@v3 + with: + name: Generated files + path: public/ + + deploy: + needs: [build] + runs-on: codeberg-tiny-lazy + steps: + - name: Clone the repository + uses: https://code.forgejo.org/actions/checkout@v5 + with: + submodules: recursive + fetch-depth: 0 + - name: Checkout the target branch and clean it up + run: | + git checkout pages || git switch --orphan pages && \ + rm -Rfv $(ls -A | egrep -v '^(\.git|LICENSE)$') + - name: Download generated files + uses: https://code.forgejo.org/actions/download-artifact@v3 + with: + name: Generated files + - name: Publish the website + run: | + git config user.email codeberg-ci && \ + git config user.name "Codeberg CI" && \ + git add . && \ + git commit --allow-empty --message " ${GITHUB_SHA}" && \ + git push origin pages