--- kind: pipeline type: docker name: web-core-ci trigger: branch: - main - develop event: - push - pull_request steps: - name: install image: node:25 commands: - yarn install --frozen-lockfile - name: lint image: node:25 commands: - yarn lint - name: build image: node:25 commands: - yarn build - name: unit-tests image: node:25 environment: NODE_OPTIONS: --no-webstorage commands: - yarn test:coverage - test -f coverage/lcov.info - name: code-analysis when: event: - push image: sonarsource/sonar-scanner-cli:latest commands: - | test -f coverage/lcov.info SONAR_ARGS="-Dsonar.projectKey=$SONAR_PROJECT_KEY -Dsonar.host.url=$SONAR_INSTANCE_URL -Dsonar.token=$SONAR_LOGIN_KEY -Dsonar.sources=src -Dsonar.tests=tests -Dsonar.test.inclusions=tests/**/*.{test,spec}.{ts,tsx,js,jsx} -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info -Dsonar.working.directory=/tmp/.scannerwork" sonar-scanner $SONAR_ARGS environment: SONAR_USER_HOME: /tmp/.sonar SONAR_PROJECT_KEY: from_secret: sonar_project_key SONAR_INSTANCE_URL: from_secret: sonar_instance_url SONAR_LOGIN_KEY: from_secret: sonar_login_key --- kind: pipeline type: docker name: web-core-publish trigger: event: - tag ref: - refs/tags/v* steps: - name: publish-npm image: node:25 environment: NEXUS_NPM_TOKEN: from_secret: nexus_npm_token commands: - yarn install --frozen-lockfile - npm config set //nexus.beatrice.wtf/repository/npm-hosted/:_authToken "$NEXUS_NPM_TOKEN" - yarn publish:nexus