diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 407b5163ff85228ed0267387465623cd48907655..1f7569a014fad876b9452be3fdc6da34d70b8848 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,44 +1,23 @@ -stages: - - publish - - deploy +include: + - local: ".gitlab/ci/wiki.yml" + rules: + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' + - changes: + - doc/**/* + - local: ".gitlab/ci/deploy.yml" + rules: + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH' + - changes: + # exclude documentation changes from deploy + - "doc/**/*" + - ".gitlab/*" + when: never -variables: - REGISTRY: registry.sc07.dev - IMAGE_NAME: sc07/canvas:edge - -publish: - stage: publish - tags: - - red - rules: - - if: $CI_COMMIT_BRANCH == "main" - - changes: - - ".gitlab/*" - when: never - - changes: - - "**/*.md" - when: manual - interruptible: true - before_script: - - echo $PAT | docker login $REGISTRY -u $GITLAB_USER_LOGIN --password-stdin - script: - - docker build . --tag $REGISTRY/$IMAGE_NAME - - docker push $REGISTRY/$IMAGE_NAME - -deploy: - stage: deploy - tags: - - red - rules: - - if: $CI_COMMIT_BRANCH == "main" - - changes: - - ".gitlab/*" - when: never - - changes: - - "**/*.md" - when: manual +# dummy job, gitlab gets mad when no jobs exist (when the above are never imported) +dummy: + stage: build interruptible: true script: - - cd $WORK_DIR - - docker compose pull - - docker compose up -d + - echo "dummy" + # rules: + # - when: never diff --git a/.gitlab/ci/deploy.yml b/.gitlab/ci/deploy.yml new file mode 100644 index 0000000000000000000000000000000000000000..69cbede98bba827a20a53f752dad8921ad52b7be --- /dev/null +++ b/.gitlab/ci/deploy.yml @@ -0,0 +1,32 @@ +variables: + REGISTRY: registry.sc07.dev + IMAGE_NAME: sc07/canvas:edge + +publish: + stage: publish + tags: + - red + rules: + - changes: + - "**/*.md" + when: manual + interruptible: true + before_script: + - echo $PAT | docker login $REGISTRY -u $GITLAB_USER_LOGIN --password-stdin + script: + - docker build . --tag $REGISTRY/$IMAGE_NAME + - docker push $REGISTRY/$IMAGE_NAME + +deploy: + stage: deploy + tags: + - red + rules: + - changes: + - "**/*.md" + when: manual + interruptible: true + script: + - cd $WORK_DIR + - docker compose pull + - docker compose up -d diff --git a/.gitlab/ci/wiki.yml b/.gitlab/ci/wiki.yml new file mode 100644 index 0000000000000000000000000000000000000000..a197d8bc92586f726554c0b663275cfd27aa1cdb --- /dev/null +++ b/.gitlab/ci/wiki.yml @@ -0,0 +1,16 @@ +# sync /doc/ to internal wiki repo for UI access +# see #151 +build-wiki: + image: alpine + stage: build + before_script: + - apk add --no-cache git git-subtree + script: + - git config user.email "ci@sc07.company" + - git config user.name "ci" + - git remote remove gitlab-wiki || true + - git remote add gitlab-wiki "https://ci:$CI_TOKEN@sc07.dev/sc07/canvas.wiki.git" + - git status + - git checkout main + - git pull + - git push gitlab-wiki `git subtree split -P doc main`:main --force diff --git a/doc/home.md b/doc/home.md new file mode 100644 index 0000000000000000000000000000000000000000..c77d3cda4cc29226959e05b2ba3790021f91d37e --- /dev/null +++ b/doc/home.md @@ -0,0 +1,3 @@ +# Canvas + +Documentation example