57 lines
2 KiB
YAML
57 lines
2 KiB
YAML
include: /gitlab-templates/blocks/workflow.yml
|
|
|
|
.hugo_post_build:
|
|
script:
|
|
- echo "No post-build hook configured"
|
|
|
|
hugo_website:
|
|
image: invent-registry.kde.org/sysadmin/ci-images/staticweb:latest
|
|
tags:
|
|
- Linux
|
|
stage: build
|
|
rules:
|
|
# Prevent branch pipelines if an MR is open on the branch.
|
|
- if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "push" && $CI_OPEN_MERGE_REQUESTS
|
|
when: never
|
|
# Ensure we build with the correct parameters for Hugo builds on non-protected branches
|
|
- if: $CI_COMMIT_REF_PROTECTED != "true"
|
|
variables:
|
|
HUGO_BASEURL: https://$CI_PROJECT_NAMESPACE.local-kde.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/public/
|
|
HUGO_ADDITIONAL_ARGS: --buildFuture --buildDrafts --baseURL "$HUGO_BASEURL"
|
|
# Allow merge request pipelines.
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
# Build tags and branches too
|
|
- if: $CI_COMMIT_TAG
|
|
- if: $CI_COMMIT_BRANCH
|
|
variables:
|
|
LANG: en_US.UTF-8
|
|
before_script:
|
|
- git config --global --add safe.directory $CI_PROJECT_DIR
|
|
- git clone https://invent.kde.org/sysadmin/ci-utilities.git
|
|
- git clone https://invent.kde.org/sysadmin/ci-notary-service.git
|
|
script:
|
|
- |
|
|
if [ -f "scripts/custom_generation.py" ]; then
|
|
python3 scripts/custom_generation.py
|
|
elif [ -d "po" ]; then
|
|
export PACKAGE="$CI_PROJECT_PATH_SLUG"
|
|
hugoi18n compile po
|
|
hugoi18n generate
|
|
else
|
|
echo "No data processing"
|
|
fi
|
|
- hugo mod npm pack
|
|
- |
|
|
if [ -f "package.json" ]; then
|
|
npm install
|
|
fi
|
|
- echo "Running Hugo with:" $HUGO_ADDITIONAL_ARGS
|
|
- PATH=/opt/dart-sass:$PATH hugo --minify $HUGO_ADDITIONAL_ARGS
|
|
- !reference [.hugo_post_build, script]
|
|
- python3 -u ci-notary-service/publishwebsite.py --config ci-utilities/signing/publishwebsite.ini public/
|
|
- if [[ -e /tmp/task-debug.log ]]; then mv /tmp/task-debug.log $CI_PROJECT_DIR/; fi
|
|
artifacts:
|
|
expire_in: 2 days
|
|
paths:
|
|
- public/
|
|
- task-debug.log
|