From 09c898000522ec9aa234c12401e6eead74146b15 Mon Sep 17 00:00:00 2001 From: Morteza Pourkazemi Date: Sun, 20 Jul 2025 15:49:49 +0200 Subject: [PATCH 1/2] Use docker for Hugo --- .github/workflows/publish.yml | 8 -------- Makefile | 24 +++++++++++++++++++++--- README.md | 3 +-- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c4bcc4b..7d2f0ed 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -31,20 +31,12 @@ jobs: submodules: recursive fetch-depth: 1 - - name: Setup Hugo - uses: peaceiris/actions-hugo@v3 - with: - hugo-version: "0.147.9" - extended: true - - name: Setup Pages id: pages uses: actions/configure-pages@v4 - name: Build with Hugo env: - HUGO_ENVIRONMENT: production - HUGO_ENV: production BASE_URL: "${{ steps.pages.outputs.base_url }}/" run: make build diff --git a/Makefile b/Makefile index c91850c..8d3086a 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,10 @@ .PHONY: build_hugo run docker_cv_build .DEFAULT_GOAL := build +HUGO_VERSION := 0.147.9 +HUGO_IMAGE := ghcr.io/gohugoio/hugo:v$(HUGO_VERSION) STATIC_DIR := static - +WORKDIR := $(abspath .) # # Resume @@ -37,13 +39,29 @@ build_static: $(RESUME_STATIC_PDF) build_hugo: build_static @echo "Building hugo" - @hugo --gc --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) + @docker run \ + --rm \ + --network=none \ + --workdir="/app" \ + --env HUGO_ENVIRONMENT=production \ + --env HUGO_ENV=production \ + -u "0:0" \ + -v "$(WORKDIR):/app" \ + $(HUGO_IMAGE) \ + build --gc --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) build: build_hugo run: build_static @echo "Running hugo" - @hugo server -D + @docker run \ + --rm \ + --workdir="/app" \ + -p 1313:1313 \ + -u "0:0" \ + -v "$(WORKDIR):/app" \ + $(HUGO_IMAGE) \ + server --bind 0.0.0.0 --buildDrafts --watch --disableFastRender clean: @git clean -xdf diff --git a/README.md b/README.md index f53e5c3..a90e468 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ # Mortz's Corner website ### Dependencies -* Hugo (> v0.122) -* Docker (> 24) \ No newline at end of file +* Docker (> 24) From b4a9aa04198961924388243933362c4d93b7587c Mon Sep 17 00:00:00 2001 From: Morteza Pourkazemi Date: Sun, 20 Jul 2025 15:52:25 +0200 Subject: [PATCH 2/2] Update hugo version --- .github/workflows/publish.yml | 5 ++++- Makefile | 17 +++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7d2f0ed..1b02587 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -35,10 +35,13 @@ jobs: id: pages uses: actions/configure-pages@v4 + - name: Build static + run: make build_static + - name: Build with Hugo env: BASE_URL: "${{ steps.pages.outputs.base_url }}/" - run: make build + run: make build UID=$(id -u) GID=$(id -g) - name: Upload artifact if: github.ref_name == github.event.repository.default_branch diff --git a/Makefile b/Makefile index 8d3086a..b32595b 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,12 @@ .PHONY: build_hugo run docker_cv_build .DEFAULT_GOAL := build -HUGO_VERSION := 0.147.9 +HUGO_VERSION := 0.148.1 HUGO_IMAGE := ghcr.io/gohugoio/hugo:v$(HUGO_VERSION) STATIC_DIR := static WORKDIR := $(abspath .) +UID ?= 0 +GID ?= 0 # # Resume @@ -23,7 +25,7 @@ $(RESUME_PDF): $(RESUME_SRC) --rm \ --network=none \ --workdir="/app/out" \ - -u "0:0" \ + -u "$(UID):$(GID)" \ -v "$(abspath $(RESUME_DIR)):/app" \ $(YAMLRESUME_IMAGE) \ build ../cv.yml @@ -42,13 +44,12 @@ build_hugo: build_static @docker run \ --rm \ --network=none \ - --workdir="/app" \ --env HUGO_ENVIRONMENT=production \ --env HUGO_ENV=production \ - -u "0:0" \ - -v "$(WORKDIR):/app" \ + -u "$(UID):$(GID)" \ + -v "$(WORKDIR):/project" \ $(HUGO_IMAGE) \ - build --gc --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) + build --minify $(if $(BASE_URL),--baseURL $(BASE_URL),) $(if $(CI),--noBuildLock, --gc) build: build_hugo @@ -58,8 +59,8 @@ run: build_static --rm \ --workdir="/app" \ -p 1313:1313 \ - -u "0:0" \ - -v "$(WORKDIR):/app" \ + -u "$(UID):$(GID)" \ + -v "$(WORKDIR):/project" \ $(HUGO_IMAGE) \ server --bind 0.0.0.0 --buildDrafts --watch --disableFastRender