stages: - build - test - publish - deploy .any-job: rules: - if: $CI_SERVER_HOST == "gitlab.mnl.de" .gradle-job: extends: .any-job image: registry.mnl.de/org/jgrapes/jdk21-builder:v2 cache: - key: dependencies-${CI_COMMIT_BRANCH} policy: pull-push paths: - .gradle - node_modules - key: "$CI_COMMIT_SHA" policy: pull-push paths: - build - "*/build" before_script: - echo -n $CI_REGISTRY_PASSWORD | podman login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY - git switch $(git branch -r --sort="authordate" --contains $CI_COMMIT_SHA | head -1 | sed -e 's#.*/##') - git pull - git reset --hard $CI_COMMIT_SHA build-jars: stage: build extends: .gradle-job script: - ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE build apidocs publish-images: stage: publish extends: .gradle-job dependencies: - build-jars script: - ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE publishImage .pages-job: extends: .any-job image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/ruby:3.2 variables: JEKYLL_ENV: production LC_ALL: C.UTF-8 before_script: - git fetch origin gh-pages - git checkout gh-pages - gem install bundler - bundle install test-pages: stage: test extends: .pages-job rules: - if: $CI_COMMIT_BRANCH == "gh-pages" script: - bundle exec jekyll build -d test artifacts: paths: - test #publish-pages: # stage: publish # extends: .pages-job # rules: # - if: $CI_COMMIT_BRANCH == "gh-pages" # script: # - bundle exec jekyll build -d public # artifacts: # paths: # - public # environment: production