Skip to content

Commit 37ce283

Browse files
committed
Updated snapshots.
1 parent feb007e commit 37ce283

66 files changed

Lines changed: 1876 additions & 1507 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.vortex/installer/tests/Fixtures/handler_process/_baseline/.github/workflows/build-test-deploy.yml

Lines changed: 99 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,104 @@ defaults:
4848
shell: bash
4949

5050
jobs:
51+
52+
lint:
53+
runs-on: ubuntu-latest
54+
if: ${{ github.event_name != 'schedule' && (github.event_name == 'push' || !startsWith(github.head_ref, 'project/')) }}
55+
56+
container:
57+
# https://hub.docker.com/r/drevops/ci-runner
58+
image: drevops/ci-runner:__VERSION__
59+
env:
60+
PACKAGE_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
61+
VORTEX_CONTAINER_REGISTRY_USER: ${{ secrets.VORTEX_CONTAINER_REGISTRY_USER }}
62+
VORTEX_CONTAINER_REGISTRY_PASS: ${{ secrets.VORTEX_CONTAINER_REGISTRY_PASS }}
63+
TZ: ${{ vars.TZ || 'UTC' }}
64+
TERM: xterm-256color
65+
VORTEX_DEBUG: ${{ vars.VORTEX_DEBUG }}
66+
67+
steps:
68+
- name: Preserve $HOME set in the container
69+
run: echo HOME=/root >> "$GITHUB_ENV" # https://github.com/actions/runner/issues/863
70+
71+
- name: Check out code
72+
uses: actions/checkout@__HASH__ # __VERSION__
73+
74+
- name: Process the codebase to run in CI
75+
run: find . -name "docker-compose.yml" -print0 | xargs -0 -I {} sh -c "sed -i -e '/###/d' {} && sed -i -e 's/##//' {}"
76+
77+
- name: Load environment variables from .env
78+
run: t=$(mktemp) && export -p >"${t}" && set -a && . ./.env && set +a && . "${t}" && env >> "$GITHUB_ENV"
79+
80+
- name: Validate Composer configuration
81+
run: composer validate --strict
82+
continue-on-error: ${{ vars.VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE == '1' }}
83+
84+
- name: Login to container registry
85+
run: ./scripts/vortex/login-container-registry.sh
86+
87+
- name: Lint Dockerfiles with Hadolint
88+
run: |
89+
find .docker -name 'Dockerfile' -o -name '*.dockerfile' | while read -r file; do
90+
echo "Linting ${file}" && cat "${file}" | docker run --rm -i hadolint/hadolint
91+
done
92+
continue-on-error: ${{ vars.VORTEX_CI_HADOLINT_IGNORE_FAILURE == '1' }}
93+
94+
- name: Lint Docker Compose files with DCLint
95+
run: docker run --rm -v "${PWD}":/app zavoloklom/dclint:__VERSION__ .
96+
continue-on-error: ${{ vars.VORTEX_CI_DCLINT_IGNORE_FAILURE == '1' }}
97+
98+
- name: Build stack
99+
run: docker compose up --no-deps --detach cli
100+
101+
- name: Install development dependencies
102+
run: |
103+
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c " \
104+
if [ -n \"${PACKAGE_TOKEN:-}\" ]; then export COMPOSER_AUTH='{\"github-oauth\": {\"github.com\": \"${PACKAGE_TOKEN-}\"}}'; fi && \
105+
COMPOSER_MEMORY_LIMIT=-1 composer --ansi install --prefer-dist"
106+
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c "yarn install --frozen-lockfile"
107+
108+
- name: Audit Composer packages
109+
run: docker compose exec -T cli composer audit
110+
continue-on-error: ${{ vars.VORTEX_CI_COMPOSER_AUDIT_IGNORE_FAILURE == '1' }}
111+
112+
- name: Validate Composer configuration is normalized
113+
run: docker compose exec -T cli composer normalize --dry-run
114+
continue-on-error: ${{ vars.VORTEX_CI_COMPOSER_NORMALIZE_IGNORE_FAILURE == '1' }}
115+
116+
- name: Lint code with PHPCS
117+
run: docker compose exec -T cli vendor/bin/phpcs
118+
continue-on-error: ${{ vars.VORTEX_CI_PHPCS_IGNORE_FAILURE == '1' }}
119+
120+
- name: Lint code with PHPStan
121+
run: docker compose exec -T cli vendor/bin/phpstan
122+
continue-on-error: ${{ vars.VORTEX_CI_PHPSTAN_IGNORE_FAILURE == '1' }}
123+
124+
- name: Lint code with Rector
125+
run: docker compose exec -T cli vendor/bin/rector --dry-run
126+
continue-on-error: ${{ vars.VORTEX_CI_RECTOR_IGNORE_FAILURE == '1' }}
127+
128+
- name: Lint code with PHPMD
129+
run: docker compose exec -T cli vendor/bin/phpmd . text phpmd.xml
130+
continue-on-error: ${{ vars.VORTEX_CI_PHPMD_IGNORE_FAILURE == '1' }}
131+
132+
- name: Lint code with Twig CS Fixer
133+
run: docker compose exec -T cli vendor/bin/twig-cs-fixer
134+
continue-on-error: ${{ vars.VORTEX_CI_TWIG_CS_FIXER_IGNORE_FAILURE == '1' }}
135+
136+
- name: Lint code with Gherkin Lint
137+
run: docker compose exec -T cli vendor/bin/gherkinlint lint tests/behat/features
138+
continue-on-error: ${{ vars.VORTEX_CI_GHERKIN_LINT_IGNORE_FAILURE == '1' }}
139+
140+
- name: Lint module code with NodeJS linters
141+
run: docker compose exec -T cli bash -c "yarn run lint"
142+
continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}
143+
144+
- name: Lint theme code with NodeJS linters
145+
if: ${{ vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }}
146+
run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"
147+
continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}
148+
51149
database:
52150
runs-on: ubuntu-latest
53151
if: ${{ github.event_name == 'push' || !startsWith(github.head_ref, 'project/') }}
@@ -225,19 +323,6 @@ jobs:
225323
- name: Login to container registry
226324
run: ./scripts/vortex/login-container-registry.sh
227325

228-
- name: Lint Dockerfiles with Hadolint
229-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
230-
run: |
231-
find .docker -name 'Dockerfile' -o -name '*.dockerfile' | while read -r file; do
232-
echo "Linting ${file}" && cat "${file}" | docker run --rm -i hadolint/hadolint
233-
done
234-
continue-on-error: ${{ vars.VORTEX_CI_HADOLINT_IGNORE_FAILURE == '1' }}
235-
236-
- name: Lint Docker Compose files with DCLint
237-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
238-
run: docker run --rm -v "${PWD}":/app zavoloklom/dclint:__VERSION__ .
239-
continue-on-error: ${{ vars.VORTEX_CI_DCLINT_IGNORE_FAILURE == '1' }}
240-
241326
- name: Build stack
242327
run: docker compose up --detach && docker builder prune --all --force
243328

@@ -254,56 +339,6 @@ jobs:
254339
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c " \
255340
if [ -n \"${PACKAGE_TOKEN:-}\" ]; then export COMPOSER_AUTH='{\"github-oauth\": {\"github.com\": \"${PACKAGE_TOKEN-}\"}}'; fi && \
256341
COMPOSER_MEMORY_LIMIT=-1 composer --ansi install --prefer-dist"
257-
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c "yarn install --frozen-lockfile"
258-
259-
- name: Audit Composer packages
260-
run: docker compose exec -T cli composer audit
261-
continue-on-error: ${{ vars.VORTEX_CI_COMPOSER_AUDIT_IGNORE_FAILURE == '1' }}
262-
263-
- name: Validate Composer configuration is normalized
264-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
265-
run: docker compose exec -T cli composer normalize --dry-run
266-
continue-on-error: ${{ vars.VORTEX_CI_COMPOSER_NORMALIZE_IGNORE_FAILURE == '1' }}
267-
268-
- name: Lint code with PHPCS
269-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
270-
run: docker compose exec -T cli vendor/bin/phpcs
271-
continue-on-error: ${{ vars.VORTEX_CI_PHPCS_IGNORE_FAILURE == '1' }}
272-
273-
- name: Lint code with PHPStan
274-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
275-
run: docker compose exec -T cli vendor/bin/phpstan
276-
continue-on-error: ${{ vars.VORTEX_CI_PHPSTAN_IGNORE_FAILURE == '1' }}
277-
278-
- name: Lint code with Rector
279-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
280-
run: docker compose exec -T cli vendor/bin/rector --dry-run
281-
continue-on-error: ${{ vars.VORTEX_CI_RECTOR_IGNORE_FAILURE == '1' }}
282-
283-
- name: Lint code with PHPMD
284-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
285-
run: docker compose exec -T cli vendor/bin/phpmd . text phpmd.xml
286-
continue-on-error: ${{ vars.VORTEX_CI_PHPMD_IGNORE_FAILURE == '1' }}
287-
288-
- name: Lint code with Twig CS Fixer
289-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
290-
run: docker compose exec -T cli vendor/bin/twig-cs-fixer
291-
continue-on-error: ${{ vars.VORTEX_CI_TWIG_CS_FIXER_IGNORE_FAILURE == '1' }}
292-
293-
- name: Lint code with Gherkin Lint
294-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
295-
run: docker compose exec -T cli vendor/bin/gherkinlint lint tests/behat/features
296-
continue-on-error: ${{ vars.VORTEX_CI_GHERKIN_LINT_IGNORE_FAILURE == '1' }}
297-
298-
- name: Lint module code with NodeJS linters
299-
if: ${{ matrix.instance == 0 || strategy.job-total == 1 }}
300-
run: docker compose exec -T cli bash -c "yarn run lint"
301-
continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}
302-
303-
- name: Lint theme code with NodeJS linters
304-
if: ${{ (matrix.instance == 0 || strategy.job-total == 1) && vars.VORTEX_FRONTEND_BUILD_SKIP != '1' }}
305-
run: docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint"
306-
continue-on-error: ${{ vars.VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE == '1' }}
307342
308343
- name: Provision site
309344
run: |
@@ -409,7 +444,7 @@ jobs:
409444

410445
deploy:
411446
runs-on: ubuntu-latest
412-
needs: build
447+
needs: [build, lint]
413448
if: ${{ github.event_name != 'schedule' && !startsWith(github.head_ref || github.ref_name, 'deps/') && (github.event_name == 'push' || !startsWith(github.head_ref, 'project/')) }}
414449

415450
container:

.vortex/installer/tests/Fixtures/handler_process/ciprovider_circleci/.circleci/config.yml

Lines changed: 90 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,90 @@ aliases:
9797
################################################################################
9898

9999
jobs:
100+
101+
# Lint job runs in parallel with database and build jobs.
102+
lint:
103+
<<: *runner_config
104+
steps:
105+
- checkout
106+
- *step_process_codebase_for_ci
107+
- *load_variables_from_dotenv
108+
109+
- run:
110+
name: Validate Composer configuration
111+
command: composer validate --strict || [ "${VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE:-0}" -eq 1 ]
112+
113+
- *step_setup_remote_docker
114+
115+
- run:
116+
name: Login to container registry
117+
command: ./scripts/vortex/login-container-registry.sh
118+
119+
- run:
120+
name: Lint Dockerfiles with Hadolint
121+
command: |
122+
for file in $(find .docker -name 'Dockerfile' -o -name '*.dockerfile'); do
123+
echo "Linting ${file}" && cat "${file}" | docker run --rm -i hadolint/hadolint || [ "${VORTEX_CI_HADOLINT_IGNORE_FAILURE:-0}" -eq 1 ]
124+
done
125+
126+
- run:
127+
name: Lint Docker Compose files with DCLint
128+
command: docker run --rm -v "${PWD}":/app zavoloklom/dclint:__VERSION__ . || [ "${VORTEX_CI_DCLINT_IGNORE_FAILURE:-0}" -eq 1 ]
129+
130+
- run:
131+
name: Build stack
132+
command: docker compose up --no-deps --detach cli
133+
134+
- run:
135+
name: Install development dependencies
136+
command: |
137+
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c " \
138+
if [ -n \"${PACKAGE_TOKEN:-}\" ]; then export COMPOSER_AUTH='{\"github-oauth\": {\"github.com\": \"${PACKAGE_TOKEN-}\"}}'; fi && \
139+
COMPOSER_MEMORY_LIMIT=-1 composer --ansi install --prefer-dist"
140+
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c "yarn install --frozen-lockfile"
141+
142+
- run:
143+
name: Audit Composer packages
144+
command: docker compose exec -T cli composer audit || [ "${VORTEX_CI_COMPOSER_AUDIT_IGNORE_FAILURE:-0}" -eq 1 ]
145+
146+
- run:
147+
name: Validate Composer configuration is normalized
148+
command: docker compose exec -T cli composer normalize --dry-run || [ "${VORTEX_CI_COMPOSER_NORMALIZE_IGNORE_FAILURE:-0}" -eq 1 ]
149+
150+
- run:
151+
name: Lint code with PHPCS
152+
command: docker compose exec -T cli vendor/bin/phpcs || [ "${VORTEX_CI_PHPCS_IGNORE_FAILURE:-0}" -eq 1 ]
153+
154+
- run:
155+
name: Lint code with PHPStan
156+
command: docker compose exec -T cli vendor/bin/phpstan || [ "${VORTEX_CI_PHPSTAN_IGNORE_FAILURE:-0}" -eq 1 ]
157+
158+
- run:
159+
name: Lint code with Rector
160+
command: docker compose exec -T cli vendor/bin/rector --dry-run || [ "${VORTEX_CI_RECTOR_IGNORE_FAILURE:-0}" -eq 1 ]
161+
162+
- run:
163+
name: Lint code with PHPMD
164+
command: docker compose exec -T cli vendor/bin/phpmd . text phpmd.xml || [ "${VORTEX_CI_PHPMD_IGNORE_FAILURE:-0}" -eq 1 ]
165+
166+
- run:
167+
name: Lint code with Twig CS Fixer
168+
command: docker compose exec -T cli vendor/bin/twig-cs-fixer || [ "${VORTEX_CI_TWIG_CS_FIXER_IGNORE_FAILURE:-0}" -eq 1 ]
169+
170+
- run:
171+
name: Lint code with Gherkin Lint
172+
command: docker compose exec -T cli vendor/bin/gherkinlint lint tests/behat/features || [ "${VORTEX_CI_GHERKIN_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
173+
174+
- run:
175+
name: Lint module code with NodeJS linters
176+
command: docker compose exec -T cli bash -c "yarn run lint" || [ "${VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
177+
178+
- run:
179+
name: Lint theme code with NodeJS linters
180+
command: |
181+
[ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" -eq 1 ] && exit 0
182+
docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" || [ "${VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
183+
100184
# Database handling is a first step of the build.
101185
# - $VORTEX_CI_DB_CACHE_TIMESTAMP is used to determine if a fresh DB dump
102186
# should be downloaded for the current build. Usually, a daily database dump
@@ -223,20 +307,6 @@ jobs:
223307
name: Login to container registry
224308
command: ./scripts/vortex/login-container-registry.sh
225309

226-
- run:
227-
name: Lint Dockerfiles with Hadolint
228-
command: |
229-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
230-
for file in $(find .docker -name 'Dockerfile' -o -name '*.dockerfile'); do
231-
echo "Linting ${file}" && cat "${file}" | docker run --rm -i hadolint/hadolint || [ "${VORTEX_CI_HADOLINT_IGNORE_FAILURE:-0}" -eq 1 ]
232-
done
233-
234-
- run:
235-
name: Lint Docker Compose files with DCLint
236-
command: |
237-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
238-
docker run --rm -v "${PWD}":/app zavoloklom/dclint:__VERSION__ . || [ "${VORTEX_CI_DCLINT_IGNORE_FAILURE:-0}" -eq 1 ]
239-
240310
- run:
241311
name: Build stack
242312
command: docker compose up --detach && docker builder prune --all --force
@@ -255,65 +325,6 @@ jobs:
255325
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c " \
256326
if [ -n \"${PACKAGE_TOKEN:-}\" ]; then export COMPOSER_AUTH='{\"github-oauth\": {\"github.com\": \"${PACKAGE_TOKEN-}\"}}'; fi && \
257327
COMPOSER_MEMORY_LIMIT=-1 composer --ansi install --prefer-dist"
258-
docker compose exec $(env | cut -f1 -d= | sed 's/^/-e /') -T cli bash -c "yarn install --frozen-lockfile"
259-
260-
- run:
261-
name: Audit Composer packages
262-
command: docker compose exec -T cli composer audit || [ "${VORTEX_CI_COMPOSER_AUDIT_IGNORE_FAILURE:-0}" -eq 1 ]
263-
264-
- run:
265-
name: Validate Composer configuration is normalized
266-
command: |
267-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
268-
docker compose exec -T cli composer normalize --dry-run || [ "${VORTEX_CI_COMPOSER_NORMALIZE_IGNORE_FAILURE:-0}" -eq 1 ]
269-
270-
- run:
271-
name: Lint code with PHPCS
272-
command: |
273-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
274-
docker compose exec -T cli vendor/bin/phpcs || [ "${VORTEX_CI_PHPCS_IGNORE_FAILURE:-0}" -eq 1 ]
275-
276-
- run:
277-
name: Lint code with PHPStan
278-
command: |
279-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
280-
docker compose exec -T cli vendor/bin/phpstan || [ "${VORTEX_CI_PHPSTAN_IGNORE_FAILURE:-0}" -eq 1 ]
281-
282-
- run:
283-
name: Lint code with Rector
284-
command: |
285-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
286-
docker compose exec -T cli vendor/bin/rector --dry-run || [ "${VORTEX_CI_RECTOR_IGNORE_FAILURE:-0}" -eq 1 ]
287-
288-
- run:
289-
name: Lint code with PHPMD
290-
command: |
291-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
292-
docker compose exec -T cli vendor/bin/phpmd . text phpmd.xml || [ "${VORTEX_CI_PHPMD_IGNORE_FAILURE:-0}" -eq 1 ]
293-
294-
- run:
295-
name: Lint code with Twig CS Fixer
296-
command: |
297-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
298-
docker compose exec -T cli vendor/bin/twig-cs-fixer || [ "${VORTEX_CI_TWIG_CS_FIXER_IGNORE_FAILURE:-0}" -eq 1 ]
299-
300-
- run:
301-
name: Lint code with Gherkin Lint
302-
command: |
303-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
304-
docker compose exec -T cli vendor/bin/gherkinlint lint tests/behat/features || [ "${VORTEX_CI_GHERKIN_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
305-
306-
- run:
307-
name: Lint module code with NodeJS linters
308-
command: |
309-
[ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ] && exit 0
310-
docker compose exec -T cli bash -c "yarn run lint" || [ "${VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
311-
312-
- run:
313-
name: Lint theme code with NodeJS linters
314-
command: |
315-
{ [ "${CIRCLE_NODE_TOTAL:-1}" -gt 1 ] && [ "${CIRCLE_NODE_INDEX:-0}" -ne 0 ]; } || [ "${VORTEX_FRONTEND_BUILD_SKIP:-0}" -eq 1 ] && exit 0
316-
docker compose exec -T cli bash -c "yarn --cwd=\${WEBROOT}/themes/custom/\${DRUPAL_THEME} run lint" || [ "${VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE:-0}" -eq 1 ]
317328
318329
- run:
319330
name: Provision site
@@ -481,6 +492,10 @@ workflows:
481492
filters:
482493
tags:
483494
only: /.*/
495+
- lint:
496+
filters:
497+
tags:
498+
only: /.*/
484499
- build:
485500
requires:
486501
- database
@@ -490,6 +505,7 @@ workflows:
490505
- deploy:
491506
requires:
492507
- build
508+
- lint
493509
filters:
494510
branches:
495511
# Allowed branches:
@@ -508,6 +524,7 @@ workflows:
508524
- deploy-tags:
509525
requires:
510526
- build
527+
- lint
511528
filters:
512529
branches:
513530
ignore: /.*/

0 commit comments

Comments
 (0)