diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ccec8c438..b06e282c28 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -98,27 +98,17 @@ jobs: mkdir -p ${{ env.LOGS_DIR }} touch ${{ env.LOGS_FILE }} - - name: Sync packages dependencies when Dependabot bumps dependenciess - run: | - git config user.name "NBB Bot" - git config user.email "83765996+nbb-bot@users.noreply.github.com" - npm run sync:packages-dependencies - git push - if: github.actor == 'dependabot[bot]' - - name: Install dependencies - run: | - npm ci - npm run install:ci:all + run: npm ci - - name: Linting - run: npm run lint:all + - name: Build packages + run: npm run build:trace - - name: Testing - run: npm run test:ci:all + - name: Linting packages + run: npm run lint:packages - - name: "Build showcase:ghpages" - run: npm run build:showcase:ghpages + - name: Testing packages + run: npm run test:ci:packages # See: https://github.com/marketplace/actions/upload-artifact - name: Upload stark packages-dist folder @@ -128,6 +118,53 @@ jobs: path: dist/packages-dist if: env.IS_MAIN_ENVIRONMENT == 1 + - name: Generate docs coverage + run: npm run docs:coverage:packages + if: env.IS_MAIN_ENVIRONMENT == 1 + + - name: Combine coveralls reports + run: node combine-packages-coverage.js + if: env.IS_MAIN_ENVIRONMENT == 1 + + - name: Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + path-to-lcov: "combined-lcov.info" + if: env.IS_MAIN_ENVIRONMENT == 1 + + - name: Clean root node_modules + run: rm -rf ./node_modules + + - name: Install starter + run: npm i + working-directory: starter + + - name: "Install showcase with install command" + if: github.actor == 'nbb-bot' && startsWith(github.ref_head, 'dependabot/npm_and_yarn') + run: | + rm package-lock.json + npm install + working-directory: showcase + + - name: "Install showcase with ci command" + if: github.actor != 'nbb-bot' || !startsWith(github.ref_head, 'dependabot/npm_and_yarn') + run: npm ci + working-directory: showcase + + - name: Linting showcase & starter + run: | + npm run lint:showcase + npm run lint:starter + + - name: Testing showcase & starter + run: | + npm run test:ci:showcase + npm run test:ci:starter + + - name: "Build showcase:ghpages" + run: npm run build:showcase:ghpages + # See: https://github.com/marketplace/actions/upload-artifact - name: Upload showcase dist folder uses: actions/upload-artifact@v2 @@ -168,24 +205,13 @@ jobs: local-testing: stop if: env.IS_MAIN_ENVIRONMENT == 1 && github.event_name == 'push' - - name: Generate docs coverage - run: npm run docs:coverage + - name: Generate starter docs coverage + run: npm run docs:starter:coverage if: env.IS_MAIN_ENVIRONMENT == 1 - name: Save logs run: bash ./scripts/ci/print-logs.sh - - name: Combine coveralls reports - run: node combine-packages-coverage.js - if: env.IS_MAIN_ENVIRONMENT == 1 - - - name: Coveralls - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - path-to-lcov: "combined-lcov.info" - if: env.IS_MAIN_ENVIRONMENT == 1 - release: name: Release runs-on: "ubuntu-latest" diff --git a/package.json b/package.json index b0fd509469..2881f8d96e 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "build:starter": "cd starter && npm run build && cd ..", "check:starter:stark-versions": "node ./check-stark-versions.js ./starter/package.json latest", "check:nightly:stark-versions": "node ./check-nightly-version.js ./package.json", - "check:packages-dependencies": "node scripts/sync-packages-deps.js --check", + "check:packages-dependencies": "node ./scripts/sync-packages-deps.js --check", "clean": "npx rimraf ./dist", "clean:all": "npm run clean && npm run clean:stark-build && npm run clean:stark-testing && npm run clean:stark-core && npm run clean:stark-ui && npm run clean:stark-rbac && npm run clean:starter && npm run clean:showcase", "clean:stark-build": "cd packages/stark-build && npm run clean && cd ../..", @@ -158,6 +158,7 @@ "docs:all": "npm run docs:stark-core:generate && npm run docs:stark-ui:generate && npm run docs:stark-rbac:generate && npm run docs:starter:generate", "docs:clean": "npx rimraf reports/api-docs", "docs:coverage": "npm run docs:stark-core:coverage && npm run docs:stark-ui:coverage && npm run docs:stark-rbac:coverage && npm run docs:starter:coverage", + "docs:coverage:packages": "npm run docs:stark-core:coverage && npm run docs:stark-ui:coverage && npm run docs:stark-rbac:coverage", "docs:publish": "bash ./gh-deploy.sh --trace", "docs:stark-core:coverage": "cd packages/stark-core && npm run docs:coverage && cd ../..", "docs:stark-core:generate": "cd packages/stark-core && npm run docs && cd ../..", @@ -180,6 +181,7 @@ "lint:showcase": "cd showcase && npm run lint && cd ..", "lint:starter": "cd starter && npm run lint && cd ..", "lint:all": "npm run lint:stark-core && npm run lint:stark-ui && npm run lint:stark-rbac && npm run lint:starter && npm run lint:showcase", + "lint:packages": "npm run lint:stark-core && npm run lint:stark-ui && npm run lint:stark-rbac", "install:all": "npm run build && npm run install:starter && npm run install:showcase", "install:showcase": "cd showcase && npm install && cd ..", "install:starter": "cd starter && ../node_modules/.bin/cross-env HUSKY_SKIP_INSTALL=1 npm install && cd ..", @@ -192,7 +194,7 @@ "preupdate:starter": "npm run clean:starter", "release": "release-it", "release:publish": "bash ./release-publish.sh --trace", - "sync:packages-dependencies": "node scripts/sync-packages-deps.js", + "sync:packages-dependencies": "node ./scripts/sync-packages-deps.js", "sync:stark-build:showcase": "npm run build:stark-build && cp -Rf ./dist/packages/stark-build ./showcase/node_modules/@nationalbankbelgium/", "sync:stark-build:starter": "npm run build:stark-build && cp -Rf ./dist/packages/stark-build ./starter/node_modules/@nationalbankbelgium/", "sync:stark-core:showcase": "npm run build:stark-core && cp -Rf ./dist/packages/stark-core ./showcase/node_modules/@nationalbankbelgium/", @@ -208,6 +210,7 @@ "stylelint-check": "stylelint-config-prettier-check", "test": "npm run test:ci:all", "test:all": "npm run test:stark-core && npm run test:stark-ui && npm run test:stark-rbac && npm run test:starter && npm run test:showcase", + "test:packages": "npm run test:stark-core && npm run test:stark-ui && npm run test:stark-rbac", "test:stark-core": "ng test stark-core", "test:stark-rbac": "ng test stark-rbac", "test:stark-ui": "ng test stark-ui", @@ -217,6 +220,7 @@ "test:starter": "cd starter && npm run test-fast && cd ../..", "test:starter:e2e": "cd starter && npm run e2e && cd ../..", "test:ci:all": "npm run test:ci:stark-core && npm run test:ci:stark-ui && npm run test:ci:stark-rbac && npm run test:ci:starter && npm run test:ci:showcase", + "test:ci:packages": "npm run test:ci:stark-core && npm run test:ci:stark-ui && npm run test:ci:stark-rbac", "test:ci:stark-core": "cross-env CI=true ng test stark-core --code-coverage", "test:ci:stark-rbac": "cross-env CI=true ng test stark-rbac --code-coverage", "test:ci:stark-ui": "cross-env CI=true ng test stark-ui --code-coverage",