diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 78 |
1 files changed, 13 insertions, 65 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b66ce725790f..a3cc03e024aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,84 +1,32 @@ include: - - project: 'common/gitlab-helper' + - project: "common/gitlab-helper" ref: master - file: 'container-helper.yml' - - project: 'common/gitlab-helper' - ref: master - file: 'deploy-helper.yml' - -variables: - BUILD_AND_TEST_IMAGE: build_and_test + file: "ci-helper.yml" -workflow: - rules: - # don't create pipeline if the commit message starts with WIP - - if: $CI_COMMIT_MESSAGE =~ /^WIP/ - when: never - # don't create pipeline if we're merging from master or version branches - - if: $CI_MERGE_REQUEST_IID && $CI_COMMIT_REF_NAME =~ /^(master|VER_\d+_\d+)$/ - when: never - - if: $CI_MERGE_REQUEST_IID - - if: $CI_COMMIT_REF_NAME =~ /^(master|VER_\d+_\d+)$/ - - if: $CI_COMMIT_TAG - - if: $CI_PIPELINE_SOURCE =~ /^(trigger|pipeline|web|api|merge_request_event)$/ +workflow: !reference [ .common, workflow ] -.rules_templates: - rules: - - if: &on_master $CI_COMMIT_REF_NAME =~ /^master$/ +variables: + PKG_NAME: "eccodes" stages: - - prepareBuild + - containerize - build - test - deploy -docker-build-and-test: - stage: prepareBuild - extends: .container-build-and-push - variables: - WORKING_DIR: ${CI_PROJECT_DIR} - DOCKERFILE_NAME: "Dockerfile.build_and_test" - IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} - BUILD_ARGS: REGISTRY=${CI_REGISTRY} +container-build-and-test: + extends: .arch-containerize needs: [] build-eccodes: - stage: build - image: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} + extends: .arch-build needs: - - job: "docker-build-and-test" + - job: "container-build-and-test" artifacts: no - artifacts: - name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" - expire_in: 1 day - paths: - - eccodes*.pkg.tar.zst - script: - # We istalled only depends in the build-and-test image, - # build-depends need to installed here, so we're able to check - # the installed package is not dependent on any of the build libs/packages - - makepkg -s --noconfirm - + test-eccodes: - stage: test - image: ${CI_REGISTRY_IMAGE}/${BUILD_AND_TEST_IMAGE}:${CI_COMMIT_REF_NAME} + extends: .arch-test needs: ["build-eccodes"] - script: - # Recommended checks - - namcap -m PKGBUILD - - namcap -m eccodes*.pkg.tar.zst - # Try to install package - - sudo pacman -U --noconfirm eccodes*.pkg.tar.zst deploy-eccodes: - stage: deploy - extends: .git-ssh-push-remote - variables: - REMOTE_HOST: "aur.archlinux.org" - REMOTE_USER: "aur" - REMOTE_REPOSITORY: "eccodes.git" - before_script: - - echo "Uploading to AUR..." - rules: - - if: *on_master - when: manual + extends: .arch-deploy |