aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikey Lombardi (He/Him) <michael.t.lombardi@gmail.com>2022-11-15 19:19:33 +0300
committerGitHub <noreply@github.com>2022-11-15 19:19:33 +0300
commit474444fa9f0decb2d7734828c7f9d629535dcb94 (patch)
treedf57de5bff88e9c06e7914b94311ec2f6f0180c5
parentada30c21f5148715719bf6d6b94f3e5dce50b19d (diff)
(GH-198) Add `extended` option to hugo feature (#240)
Prior to this change, the hugo feature only supported specifying the version of Hugo to install. Hugo is available in two builds: standard, which the feature already installs, and extended, which includes functionality for post-processing CSS/SCSS/SASS and JavaScript. This change adds a new `extended` option to the hugo feature, allowing users to specify that they require the extended build of Hugo. It defaults to `false` and installs the standard build of Hugo. - Resolves #198
-rw-r--r--src/hugo/devcontainer-feature.json7
-rwxr-xr-xsrc/hugo/install.sh9
-rw-r--r--test/hugo/install_hugo_extended.sh12
-rw-r--r--test/hugo/scenarios.json11
4 files changed, 37 insertions, 2 deletions
diff --git a/src/hugo/devcontainer-feature.json b/src/hugo/devcontainer-feature.json
index 7a96d85..37a805d 100644
--- a/src/hugo/devcontainer-feature.json
+++ b/src/hugo/devcontainer-feature.json
@@ -1,6 +1,6 @@
{
"id": "hugo",
- "version": "1.0.6",
+ "version": "1.1.0",
"name": "Hugo",
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/hugo",
"options": {
@@ -11,6 +11,11 @@
],
"default": "latest",
"description": "Select or enter a version."
+ },
+ "extended": {
+ "type": "boolean",
+ "default": false,
+ "description": "Install Hugo extended for SASS/SCSS changes"
}
},
"containerEnv": {
diff --git a/src/hugo/install.sh b/src/hugo/install.sh
index 778b552..c5cb628 100755
--- a/src/hugo/install.sh
+++ b/src/hugo/install.sh
@@ -106,7 +106,14 @@ if ! hugo version &> /dev/null ; then
arch="64bit"
fi
- hugo_filename="hugo_${VERSION}_Linux-${arch}.tar.gz"
+ # Install extended version of hugo if desired
+ if [ "${EXTENDED}" = "true" ]; then
+ extended="extended_"
+ else
+ extended=""
+ fi
+
+ hugo_filename="hugo_${extended}${VERSION}_Linux-${arch}.tar.gz"
curl -fsSLO --compressed "https://github.com/gohugoio/hugo/releases/download/v${VERSION}/${hugo_filename}"
tar -xzf "$hugo_filename" -C "$installation_dir"
diff --git a/test/hugo/install_hugo_extended.sh b/test/hugo/install_hugo_extended.sh
new file mode 100644
index 0000000..4771d84
--- /dev/null
+++ b/test/hugo/install_hugo_extended.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -e
+
+# Optional: Import test library
+source dev-container-features-test-lib
+
+# Ensure extended version is installed
+check "extended_installed" bash -c "hugo version | grep extended"
+
+# Report result
+reportResults
diff --git a/test/hugo/scenarios.json b/test/hugo/scenarios.json
new file mode 100644
index 0000000..4c093df
--- /dev/null
+++ b/test/hugo/scenarios.json
@@ -0,0 +1,11 @@
+{
+ "install_hugo_extended": {
+ "image": "mcr.microsoft.com/devcontainers/base",
+ "features": {
+ "hugo": {
+ "version": "latest",
+ "extended": true
+ }
+ }
+ }
+} \ No newline at end of file