Files
JuConnect/.gitea/workflows/deploy.yml
2026-02-11 12:24:24 +01:00

46 lines
1.3 KiB
YAML

name: Deploy static site to pages
on:
push:
branches: ["main"]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Deploy to shared pages volume (tar stream, no bind mounts)
shell: bash
run: |
set -euo pipefail
OWNER="$(echo "${GITHUB_REPOSITORY}" | cut -d/ -f1)"
REPO="$(echo "${GITHUB_REPOSITORY}" | cut -d/ -f2)"
TARGET="/target/${OWNER}/${REPO}"
echo "Deploying ${GITHUB_REPOSITORY} -> ${TARGET}"
echo "Files in repo root:"
ls -la
# Create a tar stream of the repo content (excluding VCS + workflow folder)
# and extract it directly into the docker volume via stdin.
tar -czf - \
--exclude=".git" \
--exclude=".gitea" \
. \
| docker run --rm -i \
-v gitea_pages_root:/target \
alpine:3.20 sh -lc '
set -e
mkdir -p "'"$TARGET"'"
rm -rf "'"$TARGET"'/"* "'"$TARGET"'/"..* 2>/dev/null || true
tar -xzf - -C "'"$TARGET"'"
'
echo "Deployed. Listing target:"
docker run --rm \
-v gitea_pages_root:/target \
alpine:3.20 sh -lc 'ls -la "'"$TARGET"'" | sed -n "1,50p"'