Skip to content

Nightly

Nightly #34

Workflow file for this run

name: Nightly
on:
schedule:
- cron: '0 0 * * *' # nightly
workflow_dispatch:
permissions:
id-token: write
contents: write
jobs:
build:
name: Build and Test
runs-on: github-ubuntu-latest-s
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
with:
version: 2025.7.12
- uses: SonarSource/vault-action-wrapper@v3
id: secrets
with:
secrets: |
development/artifactory/token/${{ github.repository_owner }}-${{ github.event.repository.name }}-private-reader access_token | ARTIFACTORY_ACCESS_TOKEN;
- name: Configure npm registry
run: |
npm config set //repox.jfrog.io/artifactory/api/npm/:_authToken=${{ fromJSON(steps.secrets.outputs.vault).ARTIFACTORY_ACCESS_TOKEN }}
npm config set registry https://repox.jfrog.io/artifactory/api/npm/npm/
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
env:
VERSION: SNAPSHOT
- name: Test
run: npm test
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: build-artifacts
path: |
build/
coverage/
node_modules/
if-no-files-found: error
analyze:
name: Analyze in ${{ matrix.platform_name }}
needs: build
runs-on: github-ubuntu-latest-s
strategy:
matrix:
include:
- platform_name: SonarCloud
vault_path: development/kv/data/sonarcloud
host_url: https://sonarcloud.io
- platform_name: SQ NEXT
vault_path: development/kv/data/next
host_url: https://next.sonarqube.com/sonarqube
- platform_name: SonarQube.us
vault_path: development/kv/data/sonarqube-us
host_url: https://sonarqube.us
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3.5.1
with:
version: 2025.7.12
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: build-artifacts
path: .
- uses: SonarSource/vault-action-wrapper@v3
id: secrets
with:
secrets: |
${{ matrix.vault_path }} token | SONAR_TOKEN;
- name: Run SonarQube analysis
env:
SONAR_TOKEN: ${{ fromJSON(steps.secrets.outputs.vault).SONAR_TOKEN }}
SONAR_HOST_URL: ${{ matrix.host_url }}
run: node ./scripts/ci-analysis.js
iris:
name: IRIS
needs: analyze
runs-on: github-ubuntu-latest-s
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: SonarSource/unified-dogfooding-actions/run-iris@v1
with:
primary_project_key: SonarSource_sonar-scanner-npm
primary_platform: SQC-EU
shadow1_project_key: SonarSource_sonar-scanner-npm
shadow1_platform: Next
shadow2_project_key: SonarSource_sonar-scanner-npm
shadow2_platform: SQC-US