name: Build and Release Site on: push: branches: - "**" jobs: builder: uses: karaolidis/workflows/.gitea/workflows/builder.yaml@main with: registry: git.karaolidis.com username: ${{ github.repository_owner }} secrets: password: ${{ secrets.REGISTRY_PASSWORD }} release: runs-on: nix needs: builder container: image: ${{ needs.builder.outputs.tag }} steps: - name: Configure submodule authentication run: | git config --global url."https://${{ github.repository_owner }}:${{ secrets.LFS_TOKEN }}@git.karaolidis.com/".insteadOf "https://git.karaolidis.com/" - uses: actions/checkout@v4 with: persist-credentials: 'true' - name: Checkout LFS run: | git lfs install --local AUTH=$(git config --local http.${{ github.server_url }}/.extraheader) git config --local --unset http.${{ github.server_url }}/.extraheader git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH" git lfs pull - name: Build Site run: | cd themes/caldwell npm install cd ../.. ln -s ./themes/caldwell/node_modules node_modules hugo --config hugo.toml --minify - name: Package Site run: | tar -czf site.tar.gz -C public . - name: Release uses: https://github.com/akkuman/gitea-release-action@main with: name: "Release ${{ github.sha }}" tag_name: "release-${{ github.sha }}" files: site.tar.gz - name: Publish env: TARGET_URL: https://blog.karaolidis.com/upload run: | curl -X POST "$TARGET_URL" \ -H "Authorization: ${{ secrets.BLOG_API_KEY }}" \ -H "Content-Type: application/octet-stream" \ --data-binary @site.tar.gz