ncc/.gitlab-ci.yml

87 lines
2.1 KiB
YAML
Raw Normal View History

2023-08-15 20:13:30 -04:00
stages:
- prepare
- build
- package
- release
- docker-build
2023-01-29 23:27:56 +00:00
2023-08-15 20:13:30 -04:00
variables:
PACKAGE_PATH: "build/build.tar.gz"
2023-01-29 23:27:56 +00:00
2023-08-15 20:13:30 -04:00
prepare:
2023-03-01 19:08:18 +00:00
image: php:8.1
2023-08-15 20:13:30 -04:00
stage: prepare
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
- wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
- gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
- gpg --verify phive.phar.asc phive.phar
- chmod +x phive.phar
- mv phive.phar /usr/local/bin/phive
- phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C
rules:
- if: $CI_COMMIT_BRANCH
build:
extends: .prepare
stage: build
script:
- make tar
2023-03-01 19:08:18 +00:00
2023-08-15 20:13:30 -04:00
package:
extends: .prepare
stage: package
script:
- make redist
- mkdir -p package/$CI_COMMIT_REF_NAME
- cp $PACKAGE_PATH package/$CI_COMMIT_REF_NAME/
artifacts:
paths:
- package/$CI_COMMIT_REF_NAME/build.tar.gz
rules:
- if: $CI_COMMIT_TAG
2023-03-01 19:08:18 +00:00
2023-08-15 20:13:30 -04:00
release:
extends: .prepare
stage: release
2023-03-01 19:08:18 +00:00
script:
- make redist
- mkdir ncc_$CI_COMMIT_TAG
- cp -r build/src/* ncc_$CI_COMMIT_TAG/
artifacts:
paths:
- ncc_$CI_COMMIT_TAG/
rules:
- if: $CI_COMMIT_TAG
ncc-docker:
image: docker:latest
2023-08-15 20:13:30 -04:00
stage: docker-build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
- docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" .
- docker push "$CI_REGISTRY_IMAGE${tag}"
rules:
2023-07-11 18:36:28 -04:00
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_BRANCH == 'dev'
exists:
- Dockerfile
2023-07-23 17:44:04 +00:00
ncc-docker-debian:
image: docker:latest
2023-08-15 20:13:30 -04:00
stage: docker-build
services:
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
2023-07-23 18:30:23 +00:00
- docker build -f Dockerfile.debian --pull -t "$CI_REGISTRY_IMAGE:debian" .
2023-07-23 18:24:49 +00:00
- docker push "$CI_REGISTRY_IMAGE:debian"
rules:
2023-07-23 18:24:49 +00:00
- if: $CI_COMMIT_BRANCH == 'master'
exists:
2023-08-15 20:13:30 -04:00
- Dockerfile.debian