name: deploy-docs on: push: branches: - main jobs: build-and-deploy: runs-on: ubuntu-latest container: image: hugomods/hugo:latest # We only need to mount the deployment target options: --user root -v /srv/caddy/sites:/deploy steps: # 1. Checkout the base Hugo project (assuming it's named 'wiki' or similar on your Gitea) # We put it in the 'hugo-site' directory - name: Checkout Hugo Framework uses: actions/checkout@v4 with: repository: wompmacho/wiki # Adjust this if your Hugo project repo is named differently path: hugo-site # If the wiki repo is private, we need a token to clone it. # The default GITHUB_TOKEN usually has access to other repos in the same org. token: ${{ github.token }} submodules: true # 2. Checkout THIS repository (the markdown content) into the 'docs-content' directory - name: Checkout Docs Content uses: actions/checkout@v4 with: path: docs-content # 3. Merge the content and build - name: Sync Markdown and Build run: | # Ensure content directory exists in the Hugo project mkdir -p hugo-site/content # Clean old content rm -rf hugo-site/content/* # Copy new content from this repo to the Hugo content folder cp -r docs-content/* hugo-site/content/ # Build the site cd hugo-site hugo --minify --destination public # 4. Deploy to Caddy - name: Deploy to Caddy run: | mkdir -p /deploy/wiki rm -rf /deploy/wiki/* cp -r hugo-site/public/* /deploy/wiki/