diff --git a/scripts/check-phase19.8.sh b/scripts/check-phase19.8.sh index ee765a8d..6831cbbf 100755 --- a/scripts/check-phase19.8.sh +++ b/scripts/check-phase19.8.sh @@ -19,10 +19,12 @@ # docs the console decision note names the six charm modules, # TestDocsTree, summer docs:build --check, no consuming # application named in the console and logging sources and -# pages, and every command in summer's JSON listing has +# pages (the names come from PHASE198_APP_NAMES; NOT RUN +# without it), and every command in summer's JSON listing has # examples. # plugins each swept shared plugin (PLUGINS_ROOT, and the user, golem -# and feedback checkouts under FONOTEKA): vet, short tests, its +# and feedback checkouts under PHASE198_PLUGIN_WORKSPACE, NOT +# RUN without it): vet, short tests, its # warn-only TestCommandsDocumented by name, a build without the # workspace (GOWORK=off), and the additive check: in the diff of # its sweep commit (found by subject) against its parent no @@ -34,16 +36,19 @@ # the Docker suites of sitemap, faq, menu and the user plugin's # updates package fail before the sweep too (deferred-items.md) # and are not part of this gate. -# apps each application: go build ./... (binaries into a temporary +# apps each application in PHASE198_APPS (NOT RUN without it): +# go build ./... (binaries into a temporary # directory), summer build (this checkout's summer) leaves the # committed main.go and plugins.gen.go unchanged, and # bin/ list and help migrate exit 0. -# landing the landing site: nuxt generate, then its node --test suite +# landing the landing site (PHASE198_LANDING_APP and +# PHASE198_LANDING_FRONTEND, NOT RUN without them): nuxt +# generate of the frontend, then its node --test suite # (TAP: every test passes, none skipped or todo); the # application's terminal Go tests by name (the end-to-end # TestTerminalCommands only with SUMMERCMS_TERMINAL_CHECK=1, -# NOT RUN otherwise); the demo -# application's roadmap tests by name and +# NOT RUN otherwise); the demo application's (PHASE198_DEMO_APP, +# NOT RUN without it) roadmap tests by name and # scripts/sync-roadmap.sh --check against ROADMAP_REF (default # origin/master: local master carries other sessions' unpushed # planning commits). @@ -60,11 +65,29 @@ # docker when a Docker daemon answers (NOT RUN docker otherwise, a failure # with PHASE198_REQUIRE_DOCKER=1). # -# Environment overrides (default: the sibling checkouts next to this -# repository): PHASE198_ROOT (this repository), PLUGINS_ROOT (the directory -# holding the sm-*-plugin checkouts), FONOTEKA (the application workspace -# that carries the user, golem and feedback plugin checkouts), DEMO_APP, -# BM_APP, GRZYBY_APP, SUMMERCMSIO_APP, ROADMAP_REF, PHASE198_REQUIRE_DOCKER. +# Environment. This framework script names no consuming application: every +# application path and the names the docs stage refuses come from the +# environment, with no defaults. +# PHASE198_ROOT this repository (default: the script's parent). +# PLUGINS_ROOT the directory holding the shared sm-*-plugin +# checkouts (default: this repository's parent). +# PHASE198_PLUGIN_WORKSPACE the application workspace that carries the +# user, golem and feedback plugin checkouts +# under plugins/golem15/. +# PHASE198_APPS space-separated application checkout paths +# for the apps stage (labelled by basename). +# PHASE198_DEMO_APP the demo application (roadmap check). +# PHASE198_LANDING_APP the landing site application (terminal tests). +# PHASE198_LANDING_FRONTEND the landing site frontend (nuxt generate, +# node --test). +# PHASE198_APP_NAMES space-separated ERE patterns of consuming +# application names the docs stage refuses. +# PHASE198_REQUIRE_SIBLINGS 1 turns every NOT RUN for an unset variable +# above into a failure. +# ROADMAP_REF, PHASE198_REQUIRE_DOCKER, SUMMERCMS_TERMINAL_CHECK. +# A stage or sub-check whose variable is unset prints "NOT RUN : set +# " (a failure with PHASE198_REQUIRE_SIBLINGS=1), the way the docker +# stage treats PHASE198_REQUIRE_DOCKER. set -euo pipefail unset FORCE_COLOR @@ -72,11 +95,10 @@ export NO_COLOR=1 ROOT="${PHASE198_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" PLUGINS_ROOT="${PLUGINS_ROOT:-$ROOT/..}" -FONOTEKA="${FONOTEKA:-$ROOT/../fono""teka.go}" -DEMO_APP="${DEMO_APP:-$ROOT/../sm-demo-app}" -BM_APP="${BM_APP:-$ROOT/../sm-bm-app}" -GRZYBY_APP="${GRZYBY_APP:-$ROOT/../sm-grzybyfunkcjonalne-app}" -SUMMERCMSIO_APP="${SUMMERCMSIO_APP:-$ROOT/../sm-summercmsio-app}" +PLUGIN_WORKSPACE="${PHASE198_PLUGIN_WORKSPACE:-}" +DEMO_APP="${PHASE198_DEMO_APP:-}" +LANDING_APP="${PHASE198_LANDING_APP:-}" +LANDING_FRONTEND="${PHASE198_LANDING_FRONTEND:-}" # --------------------------------------------------------------------------- # Required test names. Each list runs with -run '^(a|b|...)$' and every name @@ -231,9 +253,13 @@ PLUGIN_REPOS=( "sm-chatvideo-plugin|$PLUGINS_ROOT/sm-chatvideo-plugin" "sm-forum-plugin|$PLUGINS_ROOT/sm-forum-plugin" "sm-herald-plugin|$PLUGINS_ROOT/sm-herald-plugin" - "sm-golem-plugin|$FONOTEKA/plugins/golem15/golem" - "sm-feedback-plugin|$FONOTEKA/plugins/golem15/feedback" - "sm-user-plugin|$FONOTEKA/plugins/golem15/user" +) +# The plugin checkouts inside an application workspace +# (PHASE198_PLUGIN_WORKSPACE), "