forgejo-ci: generate previews when in PR
This commit is contained in:
parent
f379ef3926
commit
8a0b903ab7
1 changed files with 47 additions and 0 deletions
47
.forgejo/workflows/preview.yaml
Normal file
47
.forgejo/workflows/preview.yaml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [ assigned, opened, synchronize, reopened ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
render:
|
||||||
|
runs-on: x86_64
|
||||||
|
container:
|
||||||
|
image: alpine:latest
|
||||||
|
steps:
|
||||||
|
- name: Environment setup
|
||||||
|
run: |
|
||||||
|
apk add git ikiwiki po4a perl-yaml-tiny tree nodejs
|
||||||
|
- name: Repo pull
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
token: ${{ secrets.PAGES_TOKEN }}
|
||||||
|
- name: Public repo pull
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
ref: public
|
||||||
|
path: public
|
||||||
|
token: ${{ secrets.PAGES_TOKEN }}
|
||||||
|
- name: Render website
|
||||||
|
run: |
|
||||||
|
rm -rf public/previews/$CURRENT_CONTENT_PATH || true
|
||||||
|
mkdir -p public/previews/${{ github.ref_name }}
|
||||||
|
sed -i "s|destdir.*|destdir: ./public/previews/${{ github.ref_name }}|" ikiwiki.setup
|
||||||
|
ikiwiki --setup ikiwiki.setup
|
||||||
|
cd public/previews
|
||||||
|
tree -d -H '.' -L 1 --noreport --charset utf-8 -T "Versions" -o index.html
|
||||||
|
- name: Website upload
|
||||||
|
run: |
|
||||||
|
rm -Rf public/.forgejo
|
||||||
|
mkdir -p public/.forgejo/workflows
|
||||||
|
cp .forgejo/workflows/deploy.yaml public/.forgejo/workflows/.
|
||||||
|
git log -1 --pretty=%B > commit.txt
|
||||||
|
cd public
|
||||||
|
date > previews/${{ github.ref_name}}/generated.txt
|
||||||
|
# Note: the following account information will not work on GHES
|
||||||
|
git config user.name "forgejo-actions[bot]"
|
||||||
|
git config user.email "dev@ayakael.net"
|
||||||
|
git add .
|
||||||
|
git commit -F ../commit.txt
|
||||||
|
git push
|
Loading…
Reference in a new issue