| # Push a `weekly` tag if the pipeline succeeded. | |
| # SPDX-FileCopyrightText: The Eigen Authors | |
| # SPDX-License-Identifier: MPL-2.0 | |
| deploy:tag:weekly: | |
| stage: deploy | |
| image: alpine:3.20 | |
| dependencies: [] | |
| before_script: | |
| - apk add git | |
| script: | |
| - git tag -f weekly $CI_COMMIT_SHORT_SHA | |
| - git push -f $EIGEN_CI_GIT_PUSH_URL tag weekly | |
| tags: | |
| - saas-linux-small-amd64 | |
| rules: !reference [.rules:libeigen:scheduled-or-web:default-branch, rules] | |
| # Upload docs once the docs build succeeds. `needs:` rather than stage order, | |
| # which would also wait on every test job: the full matrix rarely passes | |
| # outright, so the scheduled docs never deployed. | |
| deploy:docs: | |
| stage: deploy | |
| image: busybox | |
| needs: [ build:linux:docs ] | |
| variables: | |
| PAGES_PREFIX: docs-weekly | |
| script: | |
| - echo "Deploying site to $CI_PAGES_URL" | |
| - mv ${EIGEN_CI_BUILDDIR}/doc/html public | |
| pages: | |
| path_prefix: $PAGES_PREFIX | |
| expire_in: never | |
| artifacts: | |
| name: "$CI_JOB_NAME_SLUG-$CI_COMMIT_REF_SLUG" | |
| paths: | |
| - public | |
| tags: | |
| - saas-linux-small-amd64 | |
| rules: | |
| - !reference [.rules:libeigen:gpu-schedule-guard, rules] | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && $CI_PROJECT_NAMESPACE == "libeigen" | |
| - if: $CI_PIPELINE_SOURCE == "web" && $CI_PROJECT_NAMESPACE == "libeigen" | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_PROJECT_NAMESPACE == "libeigen" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH | |
| variables: | |
| PAGES_PREFIX: docs-$CI_COMMIT_REF_NAME |