about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2024-06-01 19:20:48 +0200
committerAlan Pearce2024-06-01 19:38:22 +0200
commita6f897981be14bb9cb46033a6769a7417ed73337 (patch)
tree37244dbb235fe986fd92b9ef681d98b89fed2552
parentc5d70ac784a3374eb42fc6d8d36a896ada587002 (diff)
downloadzola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.tar.lz
zola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.tar.zst
zola-bearblog-a6f897981be14bb9cb46033a6769a7417ed73337.zip
add support for deploying to Gitlab pages
-rw-r--r--.gitlab-ci.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..040380f
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,53 @@
+stages:
+  - deploy
+
+default:
+  image: debian:stable-slim
+
+variables:
+  # The runner will be able to pull your Zola theme when the strategy is
+  # set to "recursive".
+  GIT_SUBMODULE_STRATEGY: "recursive"
+
+  # If you don't set a version here, your site will be built with the latest
+  # version of Zola available in GitHub releases.
+  # Use the semver (x.y.z) format to specify a version. For example: "0.17.2" or "0.18.0".
+  ZOLA_VERSION:
+    description: "The version of Zola used to build the site."
+    value: ""
+
+pages:
+  stage: deploy
+  script:
+    - |
+      apt-get update --assume-yes && apt-get install --assume-yes --no-install-recommends wget ca-certificates
+      if [ $ZOLA_VERSION ]; then
+        zola_url="https://github.com/getzola/zola/releases/download/v$ZOLA_VERSION/zola-v$ZOLA_VERSION-x86_64-unknown-linux-gnu.tar.gz"
+        if ! wget --quiet --spider $zola_url; then
+          echo "A Zola release with the specified version could not be found.";
+          exit 1;
+        fi
+      else
+        github_api_url="https://api.github.com/repos/getzola/zola/releases/latest"
+        zola_url=$(
+          wget --output-document - $github_api_url |
+          grep "browser_download_url.*linux-gnu.tar.gz" |
+          cut --delimiter : --fields 2,3 |
+          tr --delete "\" "
+        )
+      fi
+      wget $zola_url
+      tar -xzf *.tar.gz
+      ./zola build
+
+  artifacts:
+    paths:
+      # This is the directory whose contents will be deployed to the GitLab Pages
+      # server.
+      # GitLab Pages expects a directory with this name by default.
+      - public
+
+  rules:
+    # This rule makes it so that your website is published and updated only when
+    # you push to the default branch of your repository (e.g. "master" or "main").
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH