diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7102ef0..b1b87c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,10 +8,8 @@ stages: variables: PACKAGE_PATH: "build/build.tar.gz" -prepare: - image: php:8.1 - stage: prepare - script: +.before_script_template: &before_script_definition + before_script: - apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - wget -O phive.phar https://phar.io/releases/phive.phar @@ -21,22 +19,32 @@ prepare: - chmod +x phive.phar - mv phive.phar /usr/local/bin/phive - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + +prepare: + image: php:8.1 + stage: prepare + <<: *before_script_definition + script: + - echo "Preparation completed" rules: - if: $CI_COMMIT_BRANCH build: - extends: .prepare # CHANGE: Updated to correct name if you intend to use a hidden job + image: php:8.1 stage: build + <<: *before_script_definition script: - make tar package: - extends: .prepare # CHANGE: Updated to correct name if you intend to use a hidden job + image: php:8.1 stage: package + <<: *before_script_definition script: - - make redist + - make tar - mkdir -p package/$CI_COMMIT_REF_NAME - cp $PACKAGE_PATH package/$CI_COMMIT_REF_NAME/ + - curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/build.tar.gz "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/package-name/$CI_COMMIT_TAG/build.tar.gz" artifacts: paths: - package/$CI_COMMIT_REF_NAME/build.tar.gz @@ -44,10 +52,11 @@ package: - if: $CI_COMMIT_TAG release: - extends: .prepare # CHANGE: Updated to correct name if you intend to use a hidden job + image: php:8.1 stage: release + <<: *before_script_definition script: - - make redist + - make tar - mkdir ncc_$CI_COMMIT_TAG - cp -r build/src/* ncc_$CI_COMMIT_TAG/ artifacts: @@ -64,10 +73,10 @@ ncc-docker: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" . # CHANGE: Updated ${tag} to $CI_COMMIT_TAG - - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" # CHANGE: Updated ${tag} to $CI_COMMIT_TAG + - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" . + - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG" rules: - - if: $CI_COMMIT_TAG || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_BRANCH == 'dev' # CHANGE: Added $CI_COMMIT_TAG condition + - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_BRANCH == 'dev' || $CI_COMMIT_TAG exists: - Dockerfile @@ -79,9 +88,9 @@ ncc-docker-debian: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -f Dockerfile.debian --pull -t "$CI_REGISTRY_IMAGE:debian-$CI_COMMIT_TAG" . # CHANGE: Updated image tag format - - docker push "$CI_REGISTRY_IMAGE:debian-$CI_COMMIT_TAG" # CHANGE: Updated image tag format + - docker build -f Dockerfile.debian --pull -t "$CI_REGISTRY_IMAGE:debian-$CI_COMMIT_TAG" . + - docker push "$CI_REGISTRY_IMAGE:debian-$CI_COMMIT_TAG" rules: - - if: $CI_COMMIT_TAG || $CI_COMMIT_BRANCH == 'master' # CHANGE: Added $CI_COMMIT_TAG condition + - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG exists: - - Dockerfile.debian \ No newline at end of file + - Dockerfile.debian