summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-04-02 12:30:33 +0300
committerAndrew Dolgov <[email protected]>2023-04-02 12:30:33 +0300
commitf0e0f7d5f5e7933af5b51d0810d35de346f86604 (patch)
tree6db7d4bb4f6e1b30486a45b2b08a1879c36e00ca /.gitlab-ci.yml
parentfd98d6d117778404f566372ccf362b0d4708e5db (diff)
use common CI template
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml124
1 files changed, 12 insertions, 112 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8ca1d7f63..88a5c83db 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,115 +2,25 @@ stages:
- lint
- build
-.build-master:
- image:
- name: ${CI_DOCKER_IMAGE}
- stage: build
- rules:
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE != "web"
- changes:
- - '**/*.php'
- - '**/*.js'
- - '.docker/**/*'
- - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- when: manual
- before_script:
- - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
- - docker login -u ${DOCKER_HUB_USER} -p ${DOCKER_HUB_TOKEN}
+variables:
+ ESLINT_PATHS: js plugins
- - docker run --privileged --rm registry.fakecake.org/docker.io/tonistiigi/binfmt --install all
- - docker buildx create --name mp-builder --driver docker-container --bootstrap --use
-
- script:
- - BUILD_TIMESTAMP=$(date -d $(echo ${CI_COMMIT_TIMESTAMP} | cut -b 1-10) +%y.%m)
-
- - docker buildx build
- --push
- --platform linux/amd64,linux/arm64,linux/arm/v7
- --tag ${CI_REGISTRY}/cthulhoo/${CI_JOB_NAME}:${BUILD_TIMESTAMP}-${CI_COMMIT_SHORT_SHA}
- --tag ${CI_REGISTRY}/cthulhoo/${CI_JOB_NAME}:latest
- --tag cthulhoo/${CI_JOB_NAME}:${BUILD_TIMESTAMP}-${CI_COMMIT_SHORT_SHA}
- --tag cthulhoo/${CI_JOB_NAME}:latest
- --build-context app-src=.
- --cache-from type=registry,ref=${CI_REGISTRY}/cthulhoo/${CI_JOB_NAME}:latest
- --cache-to type=inline
- ${BUILD_CONTEXT}
-
-# note: CI_REGISTRY, etc. variables are privileged
-#
-# .build-branch:
-# image:
-# name: ${CI_DOCKER_IMAGE}
-# stage: build
-# rules:
-# - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $CI_PIPELINE_SOURCE != "web"
-# changes:
-# - '**/*.php'
-# - '**/*.js'
-# - '.docker/**/*'
-# - if: $CI_COMMIT_BRANCH && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH
-# when: manual
-# before_script:
-# - docker buildx create --name mp-builder --driver docker-container --bootstrap --use
-# - CONTAINER_NAME=$(echo ${CI_JOB_NAME} | sed 's/branch://')
-# script:
-# - docker buildx build
-# --push
-# --platform linux/amd64
-# --tag ${CI_REGISTRY}/cthulhoo/$CONTAINER_NAME:${CI_COMMIT_BRANCH}-${CI_COMMIT_SHORT_SHA}
-# --tag ${CI_REGISTRY}/cthulhoo/$CONTAINER_NAME:${CI_COMMIT_BRANCH}
-# --build-context app-src=.
-# --cache-from type=registry,ref=${CI_REGISTRY}/cthulhoo/$CONTAINER_NAME:${CI_COMMIT_BRANCH}
-# --cache-to type=inline
-# ${BUILD_CONTEXT}
+include:
+ - project: 'ci/ci-templates'
+ ref: master
+ file: .ci-build-docker.yml
+ - project: 'ci/ci-templates'
+ ref: master
+ file: .ci-lint-common.yml
phpunit:
- image:
- name: ${CI_DOCKER_IMAGE}
- stage: lint
- rules:
- - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "web"
- changes:
- - '**/*.php'
- - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- - if: $CI_COMMIT_BRANCH
- when: manual
- allow_failure: true
- script:
- - php81 ./vendor/bin/phpunit
+ extends: .phpunit
eslint:
- image:
- name: ${CI_DOCKER_IMAGE}
- stage: lint
- rules:
- - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "web"
- changes:
- - '**/*.js'
- - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- - if: $CI_COMMIT_BRANCH
- when: manual
- allow_failure: true
- script:
- - npm install
- - npx eslint js plugins
+ extends: .phpunit
phpstan:
- image:
- name: ${CI_DOCKER_IMAGE}
- needs:
- - phpunit
- stage: lint
- rules:
- - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "web"
- changes:
- - '**/*.php'
- - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- - if: $CI_COMMIT_BRANCH
- when: manual
- allow_failure: true
- script:
- - php81 -d memory_limit=-1 ./vendor/bin/phpstan --memory-limit=2G
+ extends: .phpstan
ttrss-web-nginx:
extends: .build-master
@@ -122,16 +32,6 @@ ttrss-fpm-pgsql-static:
variables:
BUILD_CONTEXT: ${CI_PROJECT_DIR}/.docker/app
-# branch:ttrss-web-nginx:
-# extends: .build-branch
-# variables:
-# BUILD_CONTEXT: ${CI_PROJECT_DIR}/.docker/web-nginx
-
-# branch:ttrss-fpm-pgsql-static:
-# extends: .build-branch
-# variables:
-# BUILD_CONTEXT: ${CI_PROJECT_DIR}/.docker/app
-
phpdoc:
image:
name: ${CI_DOCKER_IMAGE}