Skip to content
Snippets Groups Projects
gitlab-ci-angular.yml 15.87 KiB
# =========================================================================================
# Copyright (C) 2021 Orange
#
# This program is free software; you can redistribute it and/or modify it under the terms 
# of the GNU Lesser General Public License as published by the Free Software Foundation; 
# either version 3 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License along with this 
# program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth 
# Floor, Boston, MA  02110-1301, USA.
# =========================================================================================
variables:
  # Default ng workspace
  NG_WORKSPACE_DIR: .

  # Default Docker image for ANGULAR CLI (can be overriden)
  NG_CLI_IMAGE: trion/ng-cli-karma:latest

  # JUnit test report
  NG_JUNIT_TEST_REPORT_PATH: "reports/junit_test_report.xml"
  NG_E2E_REPORT_PATH: "reports/e2e"

  # Angular lint
  NG_LINT_ARGS: "lint"

  # Angular test
  NG_TEST_ARGS: >-
    test
    --code-coverage
    --reporters progress,junit

  NG_E2E_ARGS: >-
    e2e
    
  # Angular Build
  NG_BUILD_ARGS: "build --prod"

  # default production ref name (pattern)
  PROD_REF: '/^master$/'
  # default integration ref name (pattern)
  INTEG_REF: '/^develop$/'

  # ==================================================
  # Variables for publication
  # ==================================================

  # NG_PUBLISH_ENABLED

  # List of projects to publish, use space (" ") for separation
  # ex: NG_PUBLISH_PROJECTS: "Project1 Project2 myLib"
  # By default, NG_PUBLISH_PROJECTS is the value of angular.json, "defaultProject" property

  # Set some args of `npm publish` command
  # ex: NG_PUBLISH_ARGS: "--dry-run"
  NG_PUBLISH_ARGS: '--verbose'

# ==================================================
# Stages definition
# ==================================================
stages:
  - build
  - test
  - publish

###############################################################################################
#                                Script definition                                            #