Add CI workflow for codeberg/forgejo
2 files changed, 66 insertions(+), 0 deletions(-)
changed files
A .forgejo/workflows/zola.yaml
@@ -0,0 +1,64 @@ +name: Deploy Zola site to Pages + +env: + ZOLA_VERSION: 0.21.0 + +on: + # Runs on pushes targeting the default branch + push: + branches: + # If you want to build from a different branch, change it here. + - main + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + # You can find the list of available runners on https://codeberg.org/actions/meta, or run one yourself. + 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 + # If you want to commit to a branch other than "pages", change the two references below, as well as the reference in the last step. + 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 "Codeberg build for ${GITHUB_SHA}" && \ + git push origin pages
M README.md → README.md
@@ -13,6 +13,8 @@ - [Vercel](https://zola-bearblog.vercel.app/) - [Netlify](https://zola-bearblog.netlify.app/) - [Gitlab Pages](https://alanpearce.gitlab.io/zola-bearblog) - [Cloudflare Pages](https://zola-bearblog.pages.dev/) +- [Grebedoc](https://alanpearce.grebedoc.dev/zola-bearblog/) +- [Codeberg Pages](https://alanpearce.codeberg.page/zola-bearblog/) ## Screenshot