-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
65 lines (65 loc) · 2.15 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# You can override the included template(s) by including variable overrides
# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/pipeline/#customization
# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings
# Container Scanning customization: https://docs.gitlab.com/ee/user/application_security/container_scanning/#customizing-the-container-scanning-settings
# Note that environment variables can be set in several places
# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
stages:
- lint
- test
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
sast:
stage: test
include:
- template: Jobs/SAST.latest.gitlab-ci.yml
- template: Jobs/Secret-Detection.latest.gitlab-ci.yml
commitlint:
stage: lint
image: node:20-alpine
before_script:
- apk add --no-cache git
- npm ci
script:
- npx --no -- commitlint --from $CI_MERGE_REQUEST_DIFF_BASE_SHA
rules:
- if: $CI_MERGE_REQUEST_DIFF_BASE_SHA
eslint:
stage: lint
image: node:20-alpine
before_script:
- apk add --no-cache git
- npm ci
script:
- npx --no -- eslint resources/js/**/*.{js,ts,vue}
prettier:
stage: lint
image: node:20-alpine
before_script:
- apk add --no-cache git
- npm ci
script:
- npx --no -- prettier --list-different resources/js resources/sass
stylelint:
stage: lint
image: node:20-alpine
before_script:
- apk add --no-cache git
- npm ci
script:
- npx --no -- stylelint resources/{js,sass}/**/*.{css,sass,vue}
dusk:
stage: test
image: docker:26-cli
services:
- docker:26-dind
variables:
DOCKER_HOST: tcp://docker:2375
DOCKER_TLS_CERTDIR: ""
before_script:
- echo "$DOCKER_REGISTRY_PASS" | docker login --username "$DOCKER_REGISTRY_USER" --password-stdin
- cp .env.dusk.compose .env
script:
- docker compose --file docker-compose.testing.yml up --abort-on-container-exit --exit-code-from dusk --attach dusk