.only-default: &only-default only: - master - merge_requests variables: DD_SITE: "datadoghq.eu" stages: - test - datadog - build - deploy test: stage: "test" <<: *only-default image: "node:lts-buster" script: - "npm i" - "npm run test" artifacts: paths: - "node_modules" cypress: stage: "test" <<: *only-default image: "cypress/base:22.12.0" script: - "npm i" - "npm run build" - "npm run cy:init &" - "npm run cy:run" build: stage: "build" <<: *only-default image: "node:lts-buster" script: - "npm run build" after_script: - "echo $CI_COMMIT_SHA > VERSION" cache: key: "$CI_COMMIT_REF_NAME" policy: "push" paths: - "dist" - "node_modules" artifacts: paths: - "dist" - "node_modules" deploy: stage: "deploy" image: "node:lts-buster" only: - master script: - "npm publish" datadog_static_analysis: stage: datadog image: node:lts script: - apt-get update && apt-get install -y curl unzip - npm install -g @datadog/datadog-ci - export DATADOG_STATIC_ANALYZER_URL="https://github.com/DataDog/datadog-static-analyzer/releases/latest/download/datadog-static-analyzer-x86_64-unknown-linux-gnu.zip" - curl -L $DATADOG_STATIC_ANALYZER_URL -o /tmp/ddog-static-analyzer.zip - unzip /tmp/ddog-static-analyzer.zip -d /tmp - mv /tmp/datadog-static-analyzer /usr/local/bin/datadog-static-analyzer - /usr/local/bin/datadog-static-analyzer -i . -o /tmp/report.sarif -f sarif - datadog-ci sarif upload /tmp/report.sarif only: - master datadog_software_composition_analysis: stage: datadog image: node:lts script: - apt-get update && apt-get install -y curl unzip - npm install -g @datadog/datadog-ci - export DATADOG_SBOM_GENERATOR_URL="https://github.com/DataDog/datadog-sbom-generator/releases/latest/download/datadog-sbom-generator_linux_amd64.zip" - mkdir -p /datadog-sbom-generator - curl -L -o /datadog-sbom-generator/datadog-sbom-generator.zip $DATADOG_SBOM_GENERATOR_URL - unzip /datadog-sbom-generator/datadog-sbom-generator.zip -d /datadog-sbom-generator - chmod 755 /datadog-sbom-generator/datadog-sbom-generator # Scanning the current repository; adjust the scan directory as needed. - /datadog-sbom-generator/datadog-sbom-generator scan --output=/tmp/sbom.json . - datadog-ci sbom upload /tmp/sbom.json only: - master