Add CI
Some checks failed
Build and Release Site / builder (push) Successful in 46s
Build and Release Site / release (push) Failing after 23s

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-09-14 17:53:09 +01:00
parent 74873651a8
commit e9bdbfee20
2 changed files with 60 additions and 0 deletions

6
.gitea/Containerfile Normal file
View File

@@ -0,0 +1,6 @@
FROM ghcr.io/catthehacker/ubuntu:act-latest
RUN HUGO_VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | jq -r '.tag_name | ltrimstr("v")') && \
curl -L -o /tmp/hugo.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz && \
tar -xzf /tmp/hugo.tar.gz -C /usr/local/bin hugo && \
rm /tmp/hugo.tar.gz

View File

@@ -0,0 +1,54 @@
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: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- 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