image: node:lts variables: TEST_DISABLED: 'true' SAST_EXCLUDED_PATHS: 'node_modules' # CHROME_BIN: '/app/.chrome-for-testing/chrome-linux64/chrome' # CHROME_BIN: 'google-chrome' CI: 'true' # CV_GENERATOR_APPVEYOR_TOKEN: '' CV_GENERATOR_AUDITING: 'false' # CV_GENERATOR_DOCKER_TOKEN: '' # CV_GENERATOR_DOCKER_USERNAME: '' # CV_GENERATOR_GITHUB_TOKEN: '' CV_GENERATOR_FE_SKIP_REDIRECT_TO_HTTPS: 'false' GITLAB: 'true' hosts: "['localhost']" # NODEMODULESCACHE: 'false' # NPM_TOKEN: '' production: 'true' serverEndpointUri: 'https://cv-generator-project-server-eu.herokuapp.com' DAST_WEBSITE: 'https://cv-generator-project-server-eu.herokuapp.com' TERM: 'cygwin' CV_GENERATOR_FE_DEBUG: 'false' CV_GENERATOR_FE_APP_NAME: 'CV Generator' CV_GENERATOR_FE_APP_PACKAGE_NAME: 'cv-generator-fe' CV_GENERATOR_FE_USE_SPDY: 'false' # before_script: # - npm install cache: paths: - node_modules/ # stages: # - build # include: # - template: Jobs/Build.gitlab-ci.yml stages: - build - test # - run_pipeline - deploy # dummy stage to follow the template guidelines - review - dast - staging - canary - production - incremental rollout 10% - incremental rollout 25% - incremental rollout 50% - incremental rollout 100% - performance - cleanup default: timeout: 60m run_pipeline: # stage: run_pipeline stage: build tags: # - gitlab - linux # name: Run pipeline # caches: # - node timeout: 60m script: - if [ "$(date +%u)" -eq 6 ]; then echo Proceeding to pipeline on a Saturday...; else echo Skipping pipeline on a non-Saturday savings day. && exit; fi - echo "Starting pipeline..." # # Install Chrome # - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - # - sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' # - apt-get update # - apt-get install google-chrome-stable # # # # Report Chrome # # - echo 'CHROME_BIN was at:' $CHROME_BIN # # - export CHROME_BIN=google-chrome # # - export CHROME_BIN=$( which google-chrome ) # - echo 'CHROME_BIN now at:' $CHROME_BIN # - node --version - npm --version # - npm install # - npm run build - echo "Pipeline finished." - echo "Everything is awesome!" # artifacts: # paths: # - coverage/* # coverage: '/(\d*.?\d+)%/' include: # - template: Android-Fastlane.gitlab-ci.yml - template: Auto-DevOps.gitlab-ci.yml ### Auto DevOps config file # gitlab # lib # gitlab # ci # templates # Auto-DevOps.gitlab-ci.yml # ### https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml # # # Auto DevOps # # This CI/CD configuration provides a standard pipeline for # # * building a Docker image (using a buildpack if necessary), # # * storing the image in the container registry, # # * running tests from a buildpack, # # * running code quality analysis, # # * creating a review app for each topic branch, # # * and continuous deployment to production # # # # Test jobs may be disabled by setting environment variables: # # * test: TEST_DISABLED # # * code_quality: CODE_QUALITY_DISABLED # # * license_management: LICENSE_MANAGEMENT_DISABLED # # * performance: PERFORMANCE_DISABLED # # * load_performance: LOAD_PERFORMANCE_DISABLED # # * sast: SAST_DISABLED # # * secret_detection: SECRET_DETECTION_DISABLED # # * dependency_scanning: DEPENDENCY_SCANNING_DISABLED # # * container_scanning: CONTAINER_SCANNING_DISABLED # # * dast: DAST_DISABLED # # * review: REVIEW_DISABLED # # * stop_review: REVIEW_DISABLED # # # # In order to deploy, you must have a Kubernetes cluster configured either # # via a project integration, or via group/project variables. # # KUBE_INGRESS_BASE_DOMAIN must also be set on the cluster settings, # # as a variable at the group or project level, or manually added below. # # # # Continuous deployment to production is enabled by default. # # If you want to deploy to staging first, set STAGING_ENABLED environment variable. # # If you want to enable incremental rollout, either manual or time based, # # set INCREMENTAL_ROLLOUT_MODE environment variable to "manual" or "timed". # # If you want to use canary deployments, set CANARY_ENABLED environment variable. # # # # If Auto DevOps fails to detect the proper buildpack, or if you want to # # specify a custom buildpack, set a project variable `BUILDPACK_URL` to the # # repository URL of the buildpack. # # e.g. BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-ruby.git#v142 # # If you need multiple buildpacks, add a file to your project called # # `.buildpacks` that contains the URLs, one on each line, in order. # # Note: Auto CI does not work with multiple buildpacks yet # image: alpine:latest # variables: # # KUBE_INGRESS_BASE_DOMAIN is the application deployment domain and should be set as a variable at the group or project level. # # KUBE_INGRESS_BASE_DOMAIN: domain.example.com # POSTGRES_USER: user # POSTGRES_PASSWORD: testing-password # POSTGRES_ENABLED: "true" # POSTGRES_DB: $CI_ENVIRONMENT_SLUG # DOCKER_DRIVER: overlay2 # ROLLOUT_RESOURCE_TYPE: deployment # DOCKER_TLS_CERTDIR: "" # https://gitlab.com/gitlab-org/gitlab-runner/issues/4501 # stages: # - build # - test # - deploy # dummy stage to follow the template guidelines # - review # - dast # - staging # - canary # - production # - incremental rollout 10% # - incremental rollout 25% # - incremental rollout 50% # - incremental rollout 100% # - performance # - cleanup # workflow: # rules: # - if: '$BUILDPACK_URL || $AUTO_DEVOPS_EXPLICITLY_ENABLED == "1" || $DOCKERFILE_PATH' # - exists: # - Dockerfile # # https://github.com/heroku/heroku-buildpack-clojure # - exists: # - project.clj # # https://github.com/heroku/heroku-buildpack-go # - exists: # - go.mod # - Gopkg.mod # - Godeps/Godeps.json # - vendor/vendor.json # - glide.yaml # - src/**/*.go # # https://github.com/heroku/heroku-buildpack-gradle # - exists: # - gradlew # - build.gradle # - settings.gradle # # https://github.com/heroku/heroku-buildpack-java # - exists: # - pom.xml # - pom.atom # - pom.clj # - pom.groovy # - pom.rb # - pom.scala # - pom.yaml # - pom.yml # # https://github.com/heroku/heroku-buildpack-multi # - exists: # - .buildpacks # # https://github.com/heroku/heroku-buildpack-nodejs # - exists: # - package.json # # https://github.com/heroku/heroku-buildpack-php # - exists: # - composer.json # - index.php # # https://github.com/heroku/heroku-buildpack-play # # TODO: detect script excludes some scala files # - exists: # - '**/conf/application.conf' # # https://github.com/heroku/heroku-buildpack-python # # TODO: detect script checks that all of these exist, not any # - exists: # - requirements.txt # - setup.py # - Pipfile # # https://github.com/heroku/heroku-buildpack-ruby # - exists: # - Gemfile # # https://github.com/heroku/heroku-buildpack-scala # - exists: # - '*.sbt' # - project/*.scala # - .sbt/*.scala # - project/build.properties # # https://github.com/dokku/buildpack-nginx # - exists: # - .static # include: # - template: Jobs/Build.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Build.gitlab-ci.yml # - template: Jobs/Test.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml # - template: Jobs/Code-Quality.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Code-Quality.gitlab-ci.yml # - template: Jobs/Deploy.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml # - template: Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml # - template: Jobs/Browser-Performance-Testing.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Jobs/Browser-Performance-Testing.gitlab-ci.yml # - template: Security/DAST.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml # - template: Security/Container-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml # - template: Security/Dependency-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml # - template: Security/License-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/License-Scanning.gitlab-ci.yml # - template: Security/SAST.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml # - template: Security/Secret-Detection.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Secret-Detection.gitlab-ci.yml ### GitLab.org > GitLabGitLab > Repository master config file # gitlab # .gitlab-ci.yml # ### https://gitlab.com/gitlab-org/gitlab/blob/master/.gitlab-ci.yml # # stages: # - sync # - prepare # - build-images # - fixtures # - test # - post-test # - review-prepare # - review # - dast # - qa # - post-qa # - pages # - notify # # always use `gitlab-org` runners, however # # in cases where jobs require Docker-in-Docker, the job # # definition must be extended with `.use-docker-in-docker` # default: # image: "registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34" # tags: # - gitlab-org # # All jobs are interruptible by default # interruptible: true # # Default job timeout set to 90m https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/10520 # timeout: 90m # workflow: # rules: # # If `$FORCE_GITLAB_CI` is set, create a pipeline. # - if: '$FORCE_GITLAB_CI' # # As part of the process of creating RCs automatically, we update stable # # branches with the changes of the most recent production deployment. The # # merge requests used for this merge a branch release-tools/X into a stable # # branch. For these merge requests we don't want to run any pipelines, as # # they serve no purpose and will run anyway when the changes are merged. # - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^release-tools\/\d+\.\d+\.\d+-rc\d+$/ && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^[\d-]+-stable(-ee)?$/ && $CI_PROJECT_PATH == "gitlab-org/gitlab"' # when: never # # For merge requests, create a pipeline. # - if: '$CI_MERGE_REQUEST_IID' # # For `master` branch, create a pipeline (this includes on schedules, pushes, merges, etc.). # - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # # For tags, create a pipeline. # - if: '$CI_COMMIT_TAG' # # If `$GITLAB_INTERNAL` isn't set, don't create a pipeline. # - if: '$GITLAB_INTERNAL == null' # when: never # # For stable, auto-deploy, and security branches, create a pipeline. # - if: '$CI_COMMIT_BRANCH =~ /^[\d-]+-stable(-ee)?$/' # - if: '$CI_COMMIT_BRANCH =~ /^\d+-\d+-auto-deploy-\d+$/' # - if: '$CI_COMMIT_BRANCH =~ /^security\//' # variables: # RAILS_ENV: "test" # NODE_ENV: "test" # SIMPLECOV: "true" # GIT_DEPTH: "20" # GIT_SUBMODULE_STRATEGY: "none" # GET_SOURCES_ATTEMPTS: "3" # KNAPSACK_RSPEC_SUITE_REPORT_PATH: knapsack/report-master.json # FLAKY_RSPEC_SUITE_REPORT_PATH: rspec_flaky/report-suite.json # BUILD_ASSETS_IMAGE: "false" # ES_JAVA_OPTS: "-Xms256m -Xmx256m" # ELASTIC_URL: "http://elastic:changeme@elasticsearch:9200" # DOCKER_VERSION: "19.03.0" # # Preparing custom clone path to reduce space used by all random forks # # on GitLab.com's Shared Runners. Our main forks - especially the security # # ones - will have this variable overwritten in the project settings, so that # # a security-related code or code using our protected variables will be never # # stored on the same path as the community forks. # # Part of the solution for the `no space left on device` problem described at # # https://gitlab.com/gitlab-org/gitlab/issues/197876. # # # # For this purpose the https://gitlab.com/gitlab-org-forks group was created # # to host a placeholder for the `/builds/gitlab-org-forks` path and ensure # # that no legitimate project will ever use it and - by mistake - execute its # # job on a shared working directory. It also requires proper configuration of # # the Runner that executes the job (which was prepared for our shared runners # # by https://ops.gitlab.net/gitlab-cookbooks/chef-repo/-/merge_requests/3977). # # # # Because of all of that PLEASE DO NOT CHANGE THE PATH. # # # # For more details and reasoning that brought this change please check # # https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24887 # GIT_CLONE_PATH: "/builds/gitlab-org-forks/${CI_PROJECT_NAME}" # include: # - local: .gitlab/ci/build-images.gitlab-ci.yml # - local: .gitlab/ci/cache-repo.gitlab-ci.yml # - local: .gitlab/ci/cng.gitlab-ci.yml # - local: .gitlab/ci/docs.gitlab-ci.yml # - local: .gitlab/ci/frontend.gitlab-ci.yml # - local: .gitlab/ci/global.gitlab-ci.yml # - local: .gitlab/ci/memory.gitlab-ci.yml # - local: .gitlab/ci/pages.gitlab-ci.yml # - local: .gitlab/ci/qa.gitlab-ci.yml # - local: .gitlab/ci/reports.gitlab-ci.yml # - local: .gitlab/ci/rails.gitlab-ci.yml # - local: .gitlab/ci/review.gitlab-ci.yml # - local: .gitlab/ci/rules.gitlab-ci.yml # - local: .gitlab/ci/setup.gitlab-ci.yml # - local: .gitlab/ci/dev-fixtures.gitlab-ci.yml # - local: .gitlab/ci/test-metadata.gitlab-ci.yml # - local: .gitlab/ci/yaml.gitlab-ci.yml # - local: .gitlab/ci/releases.gitlab-ci.yml # - local: .gitlab/ci/notify.gitlab-ci.yml # - local: .gitlab/ci/dast.gitlab-ci.yml