Skip to content
Snippets Groups Projects

Use common CI configuration scripts and configs

Merged Mateusz Tyszczak requested to merge tm-use-common-ci-conf-2 into main
2 files
+ 23
40
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 22
39
@@ -11,7 +11,7 @@ variables:
@@ -11,7 +11,7 @@ variables:
include:
include:
- project: 'hive/common-ci-configuration'
- project: 'hive/common-ci-configuration'
ref: fae6329387a55aee40c3760a9af95a7705644bf0
ref: c17ed3951028ae1ef96fb76e46b9b1652fd6c4aa
file:
file:
- '/templates/npm_projects.gitlab-ci.yml'
- '/templates/npm_projects.gitlab-ci.yml'
@@ -41,13 +41,26 @@ build:
@@ -41,13 +41,26 @@ build:
needs:
needs:
- job: lint
- job: lint
 
# Generates documentation and supplements wiki URL so it is available in Wiki and published package README
generate_docs:
generate_docs:
stage: build
stage: build
extends: .npm_process_built_package_tarball
extends: .npm_generate_doc_url
variables:
variables:
DIST_DIR: "$CI_PROJECT_DIR/dist"
DIST_DIR: "$CI_PROJECT_DIR/dist"
PACKAGE_TGZ_PATH: "${BUILT_PACKAGE_PATH}"
PACKAGE_TGZ_PATH: "${BUILT_PACKAGE_PATH}"
 
script:
script:
 
- |
 
set -xe
 
cd "${SOURCE_DIR}"
 
echo "Attempting to replace generated documentation url placeholder: "${DOC_URL}""
 
sed -i "s<\${GEN_DOC_URL}<${DOC_URL}<g" README.md
 
if grep -q "\${GEN_DOC_URL}" README.md; then exit 1; fi # Ensure that the placeholder was replaced
 
pnpm pack --pack-destination "${DIST_DIR}" --json > ""${DIST_DIR}/built_package_info.json" # repack to include updated README in final package
 
BUILT_PACKAGE_NAME=$(jq -r .[].filename "${DIST_DIR}/built_package_info.json")
 
echo BUILT_PACKAGE_PATH="${DIST_DIR}/${BUILT_PACKAGE_NAME}" > built_package_info.env
 
 
after_script:
- scripts/generate_api_docs.sh "${CI_PROJECT_URL}" "${CI_COMMIT_SHA}"
- scripts/generate_api_docs.sh "${CI_PROJECT_URL}" "${CI_COMMIT_SHA}"
needs:
needs:
@@ -55,8 +68,12 @@ generate_docs:
@@ -55,8 +68,12 @@ generate_docs:
artifacts: true
artifacts: true
artifacts:
artifacts:
 
reports:
 
dotenv:
 
- "${SOURCE_DIR}/built_package_info.env" # contains path to produced tgz
paths:
paths:
- "${DIST_DIR}/docs"
- "${DIST_DIR}/docs"
 
- "${DIST_DIR}/*.tgz" # Built package
when: always
when: always
expire_in: 1 week
expire_in: 1 week
@@ -74,6 +91,7 @@ push_to_wiki:
@@ -74,6 +91,7 @@ push_to_wiki:
extends: .npm_push_doc_template
extends: .npm_push_doc_template
stage: deploy
stage: deploy
variables:
variables:
 
PACKAGE_TGZ_PATH: "${BUILT_PACKAGE_PATH}"
WIKI_PUSH_TOKEN: "$WIKI_PUSH_TOKEN"
WIKI_PUSH_TOKEN: "$WIKI_PUSH_TOKEN"
DIST_DIR: "$CI_PROJECT_DIR/dist"
DIST_DIR: "$CI_PROJECT_DIR/dist"
@@ -81,41 +99,6 @@ push_to_wiki:
@@ -81,41 +99,6 @@ push_to_wiki:
- job: generate_docs
- job: generate_docs
artifacts: true
artifacts: true
supplement_documentation_url:
extends: .npm_process_built_package_tarball
stage: deploy
needs:
- job: build
artifacts: true
- job: push_to_wiki
artifacts: true
variables:
PACKAGE_TGZ_PATH: "${BUILT_PACKAGE_PATH}"
DIST_DIR: "$CI_PROJECT_DIR/dist"
script:
- |
set -xe
cd "${SOURCE_DIR}"
echo "Attempting to replace generated documentation url placeholder: "${GEN_DOC_URL}""
sed -i "s<\${GEN_DOC_URL}<${GEN_DOC_URL}<g" README.md
if grep -q "\${GEN_DOC_URL}" README.md; then exit 1; fi # Ensure that the placeholder was replaced
pnpm pack --pack-destination "${DIST_DIR}" --json > ""${DIST_DIR}/built_package_info.json" # repack to include updated README in final package
BUILT_PACKAGE_NAME=$(jq -r .[].filename "${DIST_DIR}/built_package_info.json")
echo BUILT_PACKAGE_PATH="${DIST_DIR}/${BUILT_PACKAGE_NAME}" > built_package_info.env
artifacts:
reports:
dotenv:
- "${SOURCE_DIR}/built_package_info.env" # contains path to produced tgz
paths:
- "${DIST_DIR}/*.tgz" # Built package
when: always
expire_in: 1 week
deploy_dev_package:
deploy_dev_package:
stage: deploy
stage: deploy
extends: .npm_deploy_package_template
extends: .npm_deploy_package_template
@@ -125,7 +108,7 @@ deploy_dev_package:
@@ -125,7 +108,7 @@ deploy_dev_package:
needs:
needs:
- job: lint
- job: lint
- job: test
- job: test
- job: supplement_documentation_url
- job: push_to_wiki
artifacts: true
artifacts: true
deploy_production_public_npm:
deploy_production_public_npm:
@@ -142,5 +125,5 @@ deploy_production_public_npm:
@@ -142,5 +125,5 @@ deploy_production_public_npm:
needs:
needs:
- job: lint
- job: lint
- job: test
- job: test
- job: supplement_documentation_url
- job: push_to_wiki
artifacts: true
artifacts: true
Loading