From d20301b0d0754ac82de78e90e59e179e2da64cd8 Mon Sep 17 00:00:00 2001 From: philschatz <253202+philschatz@users.noreply.github.com> Date: Thu, 20 Jan 2022 15:27:59 -0600 Subject: [PATCH 1/2] add devcontainer support --- .devcontainer/devcontainer.json | 19 ++++++++++++ cli.env | 52 ++++++++++++++++---------------- dockerfiles/docker-entrypoint.sh | 15 ++++----- 3 files changed, 53 insertions(+), 33 deletions(-) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..9042e603 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,19 @@ +{ + "name": "Local Dev", + "build": { + "dockerfile": "../Dockerfile", + "context": "..", + // "target": "dev-env", + }, + "workspaceMount": "source=${localWorkspaceFolder},target=/code,type=bind,consistency=default", + "mounts": [], + "workspaceFolder": "/code", + "extensions": [ + "MS-vsliveshare.vsliveshare-pack" + ], + "settings": { + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "terminal.integrated.scrollback": 100000 + } + } \ No newline at end of file diff --git a/cli.env b/cli.env index 56d39bf2..647fe6a5 100644 --- a/cli.env +++ b/cli.env @@ -2,33 +2,33 @@ PREVIEW_APP_URL_PREFIX=apps/archive-localdev CORGI_ARTIFACTS_S3_BUCKET=openstax-sandbox-cops-artifacts ARG_S3_BUCKET_NAME=openstax-sandbox-cops-artifacts -LOCAL_ATTIC_DIR=_attic -INPUT_SOURCE_DIR=_book-input +LOCAL_ATTIC_DIR=./data/_attic +INPUT_SOURCE_DIR=./data/_book-input ABL_FILE_URL=https://raw.githubusercontent.com/openstax/content-manager-approved-books/main/approved-book-list.json -IO_BOOK=/data/book -IO_ARCHIVE_FETCHED=/data/archive-fetched -IO_ARCHIVE_BOOK=/data/archive-book -IO_ARCHIVE_JSONIFIED=/data/archive-jsonified -IO_ARCHIVE_UPLOAD=/data/archive-upload -IO_ARCHIVE_GDOCIFIED=/data/archive-gdocified -IO_ARCHIVE_DOCX=/data/archive-docx +IO_BOOK=./data/book +IO_ARCHIVE_FETCHED=./data/archive-fetched +IO_ARCHIVE_BOOK=./data/archive-book +IO_ARCHIVE_JSONIFIED=./data/archive-jsonified +IO_ARCHIVE_UPLOAD=./data/archive-upload +IO_ARCHIVE_GDOCIFIED=./data/archive-gdocified +IO_ARCHIVE_DOCX=./data/archive-docx -IO_RESOURCES=/data/resources -IO_UNUSED_RESOURCES=/data/unused-resources -IO_FETCHED=/data/fetched-book-group -IO_FETCH_META=/data/fetched-metadata-group -IO_ASSEMBLED=/data/assembled-book-group -IO_ASSEMBLE_META=/data/assembled-metadata-group -IO_BAKED=/data/baked-book-group -IO_BAKE_META=/data/baked-metadata-group -IO_LINKED=/data/linked-single -IO_MATHIFIED=/data/mathified-single -IO_REX_LINKED=/data/rex-linked -IO_DISASSEMBLED=/data/disassembled-single -IO_ARTIFACTS=/data/artifacts-single -IO_DISASSEMBLE_LINKED=/data/disassembled-linked-single -IO_JSONIFIED=/data/jsonified-single -IO_S3_ARCHIVE_QUEUE=/data/s3-archive-queue -IO_S3_GIT_QUEUE=/data/s3-git-queue \ No newline at end of file +IO_RESOURCES=./data/resources +IO_UNUSED_RESOURCES=./data/unused-resources +IO_FETCHED=./data/fetched-book-group +IO_FETCH_META=./data/fetched-metadata-group +IO_ASSEMBLED=./data/assembled-book-group +IO_ASSEMBLE_META=./data/assembled-metadata-group +IO_BAKED=./data/baked-book-group +IO_BAKE_META=./data/baked-metadata-group +IO_LINKED=./data/linked-single +IO_MATHIFIED=./data/mathified-single +IO_REX_LINKED=./data/rex-linked +IO_DISASSEMBLED=./data/disassembled-single +IO_ARTIFACTS=./data/artifacts-single +IO_DISASSEMBLE_LINKED=./data/disassembled-linked-single +IO_JSONIFIED=./data/jsonified-single +IO_S3_ARCHIVE_QUEUE=./data/s3-archive-queue +IO_S3_GIT_QUEUE=./data/s3-git-queue diff --git a/dockerfiles/docker-entrypoint.sh b/dockerfiles/docker-entrypoint.sh index de462c7d..cb86b7c6 100755 --- a/dockerfiles/docker-entrypoint.sh +++ b/dockerfiles/docker-entrypoint.sh @@ -150,6 +150,7 @@ function do_step() { ensure_arg version 'Specify repo/branch/tag/commit or archive collection version (e.g. latest)' ensure_arg archive_server 'Specify archive server (e.g. cnx.org)' + [[ ! $INPUT_SOURCE_DIR ]] && die "Bug: Missing environment variable INPUT_SOURCE_DIR" [[ -d $INPUT_SOURCE_DIR ]] || mkdir $INPUT_SOURCE_DIR check_output_dir INPUT_SOURCE_DIR @@ -170,12 +171,12 @@ function do_step() { check_input_dir INPUT_SOURCE_DIR check_output_dir IO_BOOK - + tail $INPUT_SOURCE_DIR/* cp $INPUT_SOURCE_DIR/id $IO_BOOK/job_id cp $INPUT_SOURCE_DIR/version $IO_BOOK/version if [[ $recipe != "default" && $recipe != "*" ]]; then - cp $INPUT_SOURCE_DIR/collection_style $IO_BOOK/style + cp $INPUT_SOURCE_DIR/collection_style $IO_BOOK/style fi # Detect if this is a git book or an archive book. @@ -209,7 +210,7 @@ function do_step() { pdf_filename="$(cat $IO_BOOK/collection_id)-$(cat $IO_BOOK/version)-$(cat $IO_BOOK/server_shortname)-$(cat $IO_BOOK/job_id).pdf" echo "$pdf_filename" > $IO_BOOK/pdf_filename fi - + return ;; esac @@ -227,7 +228,7 @@ function do_step() { for required_env in $required_envs; do ensure_arg $(echo $required_env | tr -d "'") - done + done for input_dir in $input_dirs; do check_input_dir $(echo $input_dir | tr -d "'") done @@ -325,7 +326,7 @@ function simulate_dirs_after() { if [[ -d "$LOCAL_ATTIC_DIR/$io_name" ]]; then try rm -rf "$LOCAL_ATTIC_DIR/$io_name" - fi + fi try mv "$child_dir_path" "$LOCAL_ATTIC_DIR/$io_name" done fi @@ -340,7 +341,7 @@ function simulate_dirs_after() { try rm -rf "$child_dir_path" done fi - + } @@ -355,7 +356,7 @@ elif [[ $pipeline_steps = 'null' ]]; then else do_step_named local-create-book-directory "${@:2}" do_step_named look-up-book - + for step_name in $pipeline_steps; do do_step_named $(echo $step_name | tr -d "'") done From 86bf7db39cc6cef73ec728cac2e26ab1489dfba0 Mon Sep 17 00:00:00 2001 From: philschatz <253202+philschatz@users.noreply.github.com> Date: Sat, 22 Jan 2022 00:15:04 +0000 Subject: [PATCH 2/2] build a pdf with 1 extra command export $(echo $(cat ./cli.env | sed 's/#.*//g' | sed 's/\r//g' | xargs)) ./dockerfiles/docker-entrypoint.sh all-git-pdf philschatz/tiny-book/book-slug1 chemistry main --- .devcontainer/devcontainer.json | 6 +++--- Dockerfile | 18 ++++++++++-------- Dockerfile.common | 19 ++++++++++--------- build-concourse/script/archive_check_feed.sh | 2 +- build-concourse/script/git_check_feed.sh | 2 +- cli.env | 1 + .../build/build-stage-bakery-3rdparty.bash | 2 +- .../build/build-stage-bakery-install.bash | 2 +- .../build/build-stage-easybake-3rdparty.bash | 2 +- .../build/build-stage-easybake-install.bash | 2 +- .../build/build-stage-neb-3rdparty.bash | 2 +- .../build/build-stage-neb-install.bash | 2 +- dockerfiles/build/build-system-venv.sh | 12 +++++++----- dockerfiles/docker-entrypoint.sh | 12 ++++++------ dockerfiles/steps/git-fetch-metadata.bash | 2 +- dockerfiles/steps/git-validate-xhtml.bash | 2 +- output-producer-service | 2 +- 17 files changed, 48 insertions(+), 42 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 9042e603..967e5e8d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,9 +5,9 @@ "context": "..", // "target": "dev-env", }, - "workspaceMount": "source=${localWorkspaceFolder},target=/code,type=bind,consistency=default", + "workspaceMount": "source=${localWorkspaceFolder},target=/workspace/richb-press,type=bind,consistency=default", "mounts": [], - "workspaceFolder": "/code", + "workspaceFolder": "/workspace/richb-press", "extensions": [ "MS-vsliveshare.vsliveshare-pack" ], @@ -16,4 +16,4 @@ "files.insertFinalNewline": true, "terminal.integrated.scrollback": 100000 } - } \ No newline at end of file + } diff --git a/Dockerfile b/Dockerfile index 10e45d08..414cdde1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -152,7 +152,7 @@ ENV PATH=$PATH:/root/.nvm/versions/node/v$NODE_VERSION/bin/ # ----------------------- # Create Virtualenv # ----------------------- - +ENV VENV_ROOT=/openstax-built/venv COPY ./dockerfiles/build/build-system-venv.sh \ $PROJECT_ROOT/dockerfiles/build/build-system-venv.sh RUN $PROJECT_ROOT/dockerfiles/build/build-system-venv.sh @@ -310,18 +310,19 @@ COPY ./output-producer-resource $PROJECT_ROOT/output-producer-resource/ WORKDIR $PROJECT_ROOT/output-producer-resource/ RUN set -x \ - && . $PROJECT_ROOT/venv/bin/activate \ + && . $VENV_ROOT/bin/activate \ && python3 setup.py sdist \ && pip3 install dist/output-producer-resource-*.tar.gz RUN mkdir -p /opt/resource RUN set -x \ - && . $PROJECT_ROOT/venv/bin/activate \ + && . $VENV_ROOT/bin/activate \ && for script in check in out; do ln -s $(which $script) /opt/resource/; done -RUN mv /root/.nvm $PROJECT_ROOT/nvm -ENV PATH=$PATH:$PROJECT_ROOT/nvm/versions/node/v$NODE_VERSION/bin/ +ENV NVM_ROOT=/openstax-built/nvm +RUN mv /root/.nvm $NVM_ROOT +ENV PATH=$PATH:$NVM_ROOT/versions/node/v$NODE_VERSION/bin/ COPY --from=base-scratch / / @@ -336,11 +337,11 @@ COPY --from=build-jo-stage /usr/local/bin/jo /usr/local/bin/jo COPY --from=build-kcov-stage /usr/local/bin/kcov* /usr/local/bin/ COPY --from=build-kcov-stage /usr/local/share/doc/kcov /usr/local/share/doc/kcov -COPY --from=build-xhtml-validator-stage $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar -COPY --from=build-mathify-stage $PROJECT_ROOT/mathify/ $PROJECT_ROOT/mathify/ +COPY --from=build-xhtml-validator-stage $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar /openstax-built/xhtml-validator.jar +COPY --from=build-mathify-stage $PROJECT_ROOT/mathify/ /openstax-built/mathify/ COPY --from=build-python-stage $BAKERY_SRC_ROOT/scripts $BAKERY_SRC_ROOT/scripts COPY --from=build-python-stage $BAKERY_SRC_ROOT/scripts/gdoc $BAKERY_SRC_ROOT/scripts/gdoc -COPY --from=build-python-stage $PROJECT_ROOT/venv/ $PROJECT_ROOT/venv/ +COPY --from=build-python-stage $VENV_ROOT/ $VENV_ROOT/ # Copy cnx-recipes styles COPY ./cnx-recipes/recipes/output/ $PROJECT_ROOT/cnx-recipes/recipes/output/ @@ -357,6 +358,7 @@ COPY ./dockerfiles/entrypointd.sh \ /dockerfiles/ COPY ./step-config.json $PROJECT_ROOT + # ^^^^^^^^^^^^^^^ Dockerfile.common ^^^^^^^^^^^^^^^ # vvvvvvvvvvv Dockerfile.cli-endmatter vvvvvvvvvvvv diff --git a/Dockerfile.common b/Dockerfile.common index eb86a528..7ad06ad9 100644 --- a/Dockerfile.common +++ b/Dockerfile.common @@ -130,7 +130,7 @@ ENV PATH=$PATH:/root/.nvm/versions/node/v$NODE_VERSION/bin/ # ----------------------- # Create Virtualenv # ----------------------- - +ENV VENV_ROOT=/openstax-built/venv COPY ./dockerfiles/build/build-system-venv.sh \ $PROJECT_ROOT/dockerfiles/build/build-system-venv.sh RUN $PROJECT_ROOT/dockerfiles/build/build-system-venv.sh @@ -288,18 +288,19 @@ COPY ./output-producer-resource $PROJECT_ROOT/output-producer-resource/ WORKDIR $PROJECT_ROOT/output-producer-resource/ RUN set -x \ - && . $PROJECT_ROOT/venv/bin/activate \ + && . $VENV_ROOT/bin/activate \ && python3 setup.py sdist \ && pip3 install dist/output-producer-resource-*.tar.gz RUN mkdir -p /opt/resource RUN set -x \ - && . $PROJECT_ROOT/venv/bin/activate \ + && . $VENV_ROOT/bin/activate \ && for script in check in out; do ln -s $(which $script) /opt/resource/; done -RUN mv /root/.nvm $PROJECT_ROOT/nvm -ENV PATH=$PATH:$PROJECT_ROOT/nvm/versions/node/v$NODE_VERSION/bin/ +ENV NVM_ROOT=/openstax-built/nvm +RUN mv /root/.nvm $NVM_ROOT +ENV PATH=$PATH:$NVM_ROOT/versions/node/v$NODE_VERSION/bin/ COPY --from=base-scratch / / @@ -314,11 +315,11 @@ COPY --from=build-jo-stage /usr/local/bin/jo /usr/local/bin/jo COPY --from=build-kcov-stage /usr/local/bin/kcov* /usr/local/bin/ COPY --from=build-kcov-stage /usr/local/share/doc/kcov /usr/local/share/doc/kcov -COPY --from=build-xhtml-validator-stage $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar -COPY --from=build-mathify-stage $PROJECT_ROOT/mathify/ $PROJECT_ROOT/mathify/ +COPY --from=build-xhtml-validator-stage $PROJECT_ROOT/xhtml-validator/build/libs/xhtml-validator.jar /openstax-built/xhtml-validator.jar +COPY --from=build-mathify-stage $PROJECT_ROOT/mathify/ /openstax-built/mathify/ COPY --from=build-python-stage $BAKERY_SRC_ROOT/scripts $BAKERY_SRC_ROOT/scripts COPY --from=build-python-stage $BAKERY_SRC_ROOT/scripts/gdoc $BAKERY_SRC_ROOT/scripts/gdoc -COPY --from=build-python-stage $PROJECT_ROOT/venv/ $PROJECT_ROOT/venv/ +COPY --from=build-python-stage $VENV_ROOT/ $VENV_ROOT/ # Copy cnx-recipes styles COPY ./cnx-recipes/recipes/output/ $PROJECT_ROOT/cnx-recipes/recipes/output/ @@ -334,4 +335,4 @@ COPY ./dockerfiles/entrypointd.sh \ ./dockerfiles/docker-entrypoint-with-kcov.sh \ /dockerfiles/ -COPY ./step-config.json $PROJECT_ROOT \ No newline at end of file +COPY ./step-config.json $PROJECT_ROOT diff --git a/build-concourse/script/archive_check_feed.sh b/build-concourse/script/archive_check_feed.sh index 0faada81..a904cae5 100644 --- a/build-concourse/script/archive_check_feed.sh +++ b/build-concourse/script/archive_check_feed.sh @@ -1,3 +1,3 @@ curl "$ABL_FILE_URL" -o book-feed.json -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate check-feed book-feed.json "$CODE_VERSION" "$WEB_QUEUE_STATE_S3_BUCKET" "$CODE_VERSION.web-hosting-archive-queue.json" "$MAX_BOOKS_PER_TICK" "archive-dist" "archive" \ No newline at end of file diff --git a/build-concourse/script/git_check_feed.sh b/build-concourse/script/git_check_feed.sh index 6bf784e6..587df9ca 100644 --- a/build-concourse/script/git_check_feed.sh +++ b/build-concourse/script/git_check_feed.sh @@ -1,4 +1,4 @@ curl "$ABL_FILE_URL" -o book-feed.json -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate check-feed book-feed.json "$CODE_VERSION" "$WEB_QUEUE_STATE_S3_BUCKET" "$CODE_VERSION.web-hosting-git-queue.json" "$MAX_BOOKS_PER_TICK" "git-dist" "git" \ No newline at end of file diff --git a/cli.env b/cli.env index 647fe6a5..996dac2e 100644 --- a/cli.env +++ b/cli.env @@ -5,6 +5,7 @@ ARG_S3_BUCKET_NAME=openstax-sandbox-cops-artifacts LOCAL_ATTIC_DIR=./data/_attic INPUT_SOURCE_DIR=./data/_book-input +DOCKERFILES_ROOT=/workspace/richb-press/dockerfiles ABL_FILE_URL=https://raw.githubusercontent.com/openstax/content-manager-approved-books/main/approved-book-list.json IO_BOOK=./data/book diff --git a/dockerfiles/build/build-stage-bakery-3rdparty.bash b/dockerfiles/build/build-stage-bakery-3rdparty.bash index c7afa4cc..d337a68d 100755 --- a/dockerfiles/build/build-stage-bakery-3rdparty.bash +++ b/dockerfiles/build/build-stage-bakery-3rdparty.bash @@ -2,6 +2,6 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate pip3 install -r $BAKERY_SRC_ROOT/scripts/requirements.txt diff --git a/dockerfiles/build/build-stage-bakery-install.bash b/dockerfiles/build/build-stage-bakery-install.bash index ef11cc88..05d91fe8 100755 --- a/dockerfiles/build/build-stage-bakery-install.bash +++ b/dockerfiles/build/build-stage-bakery-install.bash @@ -2,7 +2,7 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate pip3 install $BAKERY_SRC_ROOT/scripts/. npm --prefix $BAKERY_SRC_ROOT/scripts install --production $BAKERY_SRC_ROOT/scripts diff --git a/dockerfiles/build/build-stage-easybake-3rdparty.bash b/dockerfiles/build/build-stage-easybake-3rdparty.bash index be99c1cc..c8d05b7f 100755 --- a/dockerfiles/build/build-stage-easybake-3rdparty.bash +++ b/dockerfiles/build/build-stage-easybake-3rdparty.bash @@ -2,6 +2,6 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate python3 -m pip install -r $PROJECT_ROOT/cnx-easybake/requirements/main.txt diff --git a/dockerfiles/build/build-stage-easybake-install.bash b/dockerfiles/build/build-stage-easybake-install.bash index 20e3a320..49f781c0 100755 --- a/dockerfiles/build/build-stage-easybake-install.bash +++ b/dockerfiles/build/build-stage-easybake-install.bash @@ -2,6 +2,6 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate python3 -m pip install $PROJECT_ROOT/cnx-easybake/ \ No newline at end of file diff --git a/dockerfiles/build/build-stage-neb-3rdparty.bash b/dockerfiles/build/build-stage-neb-3rdparty.bash index c1e05c90..c92b22bf 100755 --- a/dockerfiles/build/build-stage-neb-3rdparty.bash +++ b/dockerfiles/build/build-stage-neb-3rdparty.bash @@ -2,7 +2,7 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate pip3 install -U setuptools wheel pip3 install -r $PROJECT_ROOT/nebuchadnezzar/requirements/main.txt diff --git a/dockerfiles/build/build-stage-neb-install.bash b/dockerfiles/build/build-stage-neb-install.bash index 29696677..33ee7dfe 100755 --- a/dockerfiles/build/build-stage-neb-install.bash +++ b/dockerfiles/build/build-stage-neb-install.bash @@ -2,6 +2,6 @@ set -e # shellcheck disable=SC1090 -source $PROJECT_ROOT/venv/bin/activate +source $VENV_ROOT/bin/activate pip3 install $PROJECT_ROOT/nebuchadnezzar/ diff --git a/dockerfiles/build/build-system-venv.sh b/dockerfiles/build/build-system-venv.sh index 8c390041..ac58f7e7 100755 --- a/dockerfiles/build/build-system-venv.sh +++ b/dockerfiles/build/build-system-venv.sh @@ -1,12 +1,14 @@ #!/bin/sh set -e +VENV_ROOT=${VENV_ROOT:-/openstax/venv} + if [ ! -z "$GITPOD_HOST" ]; then - mkdir -p $PROJECT_ROOT/venv/bin - echo '# This is a no-op because we are running inside gitpod so no need for a virtualenv' > $PROJECT_ROOT/venv/bin/activate -else - python3 -m venv $PROJECT_ROOT/venv + mkdir -p $VENV_ROOT/bin + echo '# This is a no-op because we are running inside gitpod so no need for a virtualenv' > $VENV_ROOT/bin/activate +else + python3 -m venv $VENV_ROOT # shellcheck disable=SC1090 - . $PROJECT_ROOT/venv/bin/activate + . $VENV_ROOT/bin/activate pip3 install --no-cache-dir -U 'pip<20' fi diff --git a/dockerfiles/docker-entrypoint.sh b/dockerfiles/docker-entrypoint.sh index cb86b7c6..ee1c8948 100755 --- a/dockerfiles/docker-entrypoint.sh +++ b/dockerfiles/docker-entrypoint.sh @@ -35,14 +35,14 @@ try() { "$@" || die "ERROR: could not run [$*]$c_none" 112; } [[ $PROJECT_ROOT ]] || die "Environment variable PROJECT_ROOT was not set. It should be set inside the Dockerfile" STEP_CONFIG_FILE=${STEP_CONFIG_FILE:-$PROJECT_ROOT/step-config.json} -DOCKERFILES_ROOT=${DOCKERFILES_ROOT:-/dockerfiles} +DOCKERFILES_ROOT=${DOCKERFILES_ROOT:-$PROJECT_ROOT/dockerfiles} BAKERY_SCRIPTS_ROOT=${BAKERY_SCRIPTS_ROOT:-$PROJECT_ROOT/output-producer-service/bakery/src} -PYTHON_VENV_ROOT=${PYTHON_VENV_ROOT:-$PROJECT_ROOT/venv} +PYTHON_VENV_ROOT=${PYTHON_VENV_ROOT:-$VENV_ROOT} RECIPES_ROOT=${RECIPES_ROOT:-$PROJECT_ROOT/recipes} -MATHIFY_ROOT=${MATHIFY_ROOT:-$PROJECT_ROOT/mathify} +MATHIFY_ROOT=${MATHIFY_ROOT:-/openstax-built/mathify} CNX_RECIPES_RECIPES_ROOT=${CNX_RECIPES_RECIPES_ROOT:-$PROJECT_ROOT/cnx-recipes/recipes/output} CNX_RECIPES_STYLES_ROOT=${CNX_RECIPES_STYLES_ROOT:-$PROJECT_ROOT/cnx-recipes/styles/output} -XHTML_VALIDATOR_ROOT=${XHTML_VALIDATOR_ROOT:-$PROJECT_ROOT/xhtml-validator/build/libs} +XHTML_VALIDATOR_JAR=${XHTML_VALIDATOR_JAR:-/openstax-built/xhtml-validator.jar} source $PYTHON_VENV_ROOT/bin/activate @@ -83,7 +83,7 @@ function do_xhtml_validate() { check=$3 for xhtmlfile in $(find $dir_name -name "$file_pattern") do - java -cp $XHTML_VALIDATOR_ROOT/xhtml-validator.jar org.openstax.xml.Main - $check broken-link < "$xhtmlfile" || failure=true + java -cp $XHTML_VALIDATOR_JAR org.openstax.xml.Main - $check broken-link < "$xhtmlfile" || failure=true done if $failure; then exit 1 # LCOV_EXCL_LINE @@ -151,7 +151,7 @@ function do_step() { ensure_arg archive_server 'Specify archive server (e.g. cnx.org)' [[ ! $INPUT_SOURCE_DIR ]] && die "Bug: Missing environment variable INPUT_SOURCE_DIR" - [[ -d $INPUT_SOURCE_DIR ]] || mkdir $INPUT_SOURCE_DIR + [[ -d $INPUT_SOURCE_DIR ]] || mkdir -p $INPUT_SOURCE_DIR check_output_dir INPUT_SOURCE_DIR diff --git a/dockerfiles/steps/git-fetch-metadata.bash b/dockerfiles/steps/git-fetch-metadata.bash index 67edf988..452e89cc 100644 --- a/dockerfiles/steps/git-fetch-metadata.bash +++ b/dockerfiles/steps/git-fetch-metadata.bash @@ -21,6 +21,6 @@ fi try fetch-update-meta "$IO_FETCH_META/.git" "$IO_FETCH_META/modules" "$IO_FETCH_META/collections" "$ARG_GIT_REF" "$IO_FETCH_META/canonical.json" try rm -rf "$IO_FETCH_META/.git" -try fetch-map-resources "$IO_FETCH_META/modules" "$IO_FETCH_META/media" . "$IO_UNUSED_RESOURCES" +try fetch-map-resources "$IO_FETCH_META/modules" "$IO_FETCH_META/media" "$(cd $IO_RESOURCES && cd .. && pwd)" "$IO_UNUSED_RESOURCES" # Either the media is in resources or unused-resources, this folder should be empty (-d will fail otherwise) try rm -d "$IO_FETCH_META/media" diff --git a/dockerfiles/steps/git-validate-xhtml.bash b/dockerfiles/steps/git-validate-xhtml.bash index 7e1836c3..5a935ea0 100644 --- a/dockerfiles/steps/git-validate-xhtml.bash +++ b/dockerfiles/steps/git-validate-xhtml.bash @@ -2,6 +2,6 @@ while IFS= read -r -d '' xhtmlfile do say "XHTML-validating $xhtmlfile" - try java -cp $XHTML_VALIDATOR_ROOT/xhtml-validator.jar org.openstax.xml.Main - duplicate-id broken-link < "$xhtmlfile" + try java -cp $XHTML_VALIDATOR_JAR org.openstax.xml.Main - duplicate-id broken-link < "$xhtmlfile" done < <(find $IO_DISASSEMBLE_LINKED -name '*.xhtml' -print0) # LCOV_EXCL_STOP diff --git a/output-producer-service b/output-producer-service index 9ca5c176..03e31159 160000 --- a/output-producer-service +++ b/output-producer-service @@ -1 +1 @@ -Subproject commit 9ca5c1768c9feefd0716c02aa17b102e4a1ea048 +Subproject commit 03e31159f6e1f007359ffc350a4a6d3985c73621