name: CI Pipeline on: push env: IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci jobs: security: runs-on: ubuntu-latest continue-on-error: true container: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci steps: - uses: actions/checkout@v3 - name: Install pnpm and npmci run: | pnpm install -g pnpm pnpm install -g @shipzone/npmci - name: Run npm prepare run: npmci npm prepare - name: Audit production dependencies run: | npmci command npm config set registry https://registry.npmjs.org npmci command pnpm audit --audit-level=high --prod - name: Audit development dependencies run: | npmci command npm config set registry https://registry.npmjs.org npmci command pnpm audit --audit-level=high --dev test: needs: security runs-on: ubuntu-latest container: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci steps: - uses: actions/checkout@v3 - name: Test stable run: | npmci node install stable npmci npm install npmci npm test - name: Test build run: | npmci node install stable npmci npm install npmci npm build release: needs: test if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest container: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci steps: - uses: actions/checkout@v3 - name: Release run: | npmci node install stable npmci npm publish metadata: needs: test if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest container: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci continue-on-error: true steps: - uses: actions/checkout@v3 - name: Code quality run: | npmci command npm install -g typescript npmci npm prepare npmci npm install - name: Trigger run: npmci trigger - name: Build docs and upload artifacts run: | npmci node install stable npmci npm install npmci command npm run buildDocs - name: Upload artifacts uses: actions/upload-artifact@v2 with: name: public path: public retention-days: 7