diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 046e6e1a621cc58b025e576497ad7867c9c0781d..1feae179270f727e6070ae70b87668278ed4d1a1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,2 +1,3 @@ include: - - remote: 'https://gitlab.master3.takima.io/guide/tools/pipeline-templates/-/blob/main/templates/.gitlab-ci-m3press-milestone.yml' + file: "./templates/.gitlab-ci-m3press-milestone.yml" + \ No newline at end of file diff --git a/template/.gitlab-ci-m3-press-milestone.yml b/template/.gitlab-ci-m3-press-milestone.yml new file mode 100644 index 0000000000000000000000000000000000000000..eee9db904a431125bf1652674cc11dc8e591f89a --- /dev/null +++ b/template/.gitlab-ci-m3-press-milestone.yml @@ -0,0 +1,110 @@ +stages: + - doc + - doc-deploy + - 'deploy resources' + +variables: + M3_DOCS_FOLDER: docs # docs is the folder containing public markdown files + M3_PRESS_URL: ://guide.${CI_PAGES_DOMAIN} + M3_GITLAB_URL: ${CI_SERVER_URL} + M3_REGISTRY_URL: ${CI_REGISTRY} + ## resources + M3_RESOURCES_JOB: resources + M3_RESOURCES_FOLDER: resources + M3_RESOURCES_API: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_DEFAULT_BRANCH} + M3_RESOURCES_ARCHIVE_URL: ${M3_RESOURCES_API}/download?job=${M3_RESOURCES_JOB} + ## file resources + M3_RESOURCES_FILE_JOB: file-resources + M3_RESOURCES_FILE_URL: ${M3_RESOURCES_API}/raw/${M3_RESOURCES_FOLDER}/@{RESOURCE_PATH}?job=${M3_RESOURCES_FILE_JOB} + ## correction + M3_CORRECTION_JOB: correction + M3_CORRECTION_FOLDER: done + M3_CORRECTION_API: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/artifacts/${CI_DEFAULT_BRANCH} + M3_CORRECTION_ARCHIVE_URL: ${M3_CORRECTION_API}/download?job=${M3_CORRECTION_JOB} + + M3_CORRECTION_FILE_JOB: file-correction + M3_CORRECTION_FILE_URL: ${M3_CORRECTION_API}/raw/${M3_CORRECTION_FOLDER}/@{RESOURCE_PATH}?job=${M3_CORRECTION_FILE_JOB} + +workflow: + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + +build-doc: + stage: doc + tags: + - "m3-press" + image: + name: registry.master3.takima.io/guide/tools/m3-press + entrypoint: [""] + script: + - m3press build ${M3_DOCS_FOLDER} + + + artifacts: + paths: + - "dist" + untracked: false + expire_in: 30 days + +pages: + stage: doc-deploy + image: alpine + tags: + - "m3-press" + needs: + - build-doc + script: + - rm -rf public + - mv ./dist public + artifacts: + paths: + - public + +# ---------------- build resources ---------------- + +.resources: + stage: 'deploy resources' + image: alpine + tags: + - "m3-press" + variables: + ARCHIVE_FOLDER: ${M3_RESOURCES_FOLDER} + script: + - echo "Archiving $ARCHIVE_FOLDER folder as an artifact" + artifacts: + name: $ARTIFACT_NAME + paths: + - ${ARCHIVE_FOLDER}/** + expire_in: 1 day + +resources: + extends: .resources + variables: + ARCHIVE_FOLDER: ${M3_RESOURCES_FOLDER} + ARTIFACT_NAME: resources + +correction: + extends: .resources + variables: + ARCHIVE_FOLDER: ${M3_CORRECTION_FOLDER} + ARTIFACT_NAME: correction + +.file-resources: + extends: .resources + script: + - apk add zip + - echo "creating archive for resources in ${ARCHIVE_FOLDER}" + - mkdir -p ${ARCHIVE_FOLDER} && cd ${ARCHIVE_FOLDER} + - find . -mindepth 1 -maxdepth 1 -type d | xargs -n1 -r sh -c 'zip -r $0.zip $0' + +file-resources: + extends: .file-resources + variables: + ARCHIVE_FOLDER: ${M3_RESOURCES_FOLDER} + ARTIFACT_NAME: resources-files + +file-correction: + extends: .file-resources + variables: + ARCHIVE_FOLDER: ${M3_CORRECTION_FOLDER} + ARTIFACT_NAME: correction-files