name: Default (tags) on: push: tags: - '*' env: IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@gitea.lossless.digital/${{gitea.repository}}.git NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}} NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}} NPMCI_GIT_GITHUBTOKEN: ${{secrets.NPMCI_GIT_GITHUBTOKEN}} NPMCI_URL_CLOUDLY: ${{secrets.NPMCI_URL_CLOUDLY}} jobs: security: runs-on: ubuntu-latest continue-on-error: true container: image: ${{ env.IMAGE }} steps: - uses: actions/checkout@v3 - name: Prepare run: | pnpm install -g pnpm pnpm install -g @shipzone/npmci 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 continue-on-error: true - name: Audit development dependencies run: | npmci command npm config set registry https://registry.npmjs.org npmci command pnpm audit --audit-level=high --dev continue-on-error: true test: if: ${{ always() }} needs: security runs-on: ubuntu-latest container: image: ${{ env.IMAGE }} steps: - uses: actions/checkout@v3 - name: Prepare run: | pnpm install -g pnpm pnpm install -g @shipzone/npmci npmci npm prepare - 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: ${{ env.IMAGE }} steps: - uses: actions/checkout@v3 - name: Prepare run: | pnpm install -g pnpm pnpm install -g @shipzone/npmci npmci npm prepare - 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: ${{ env.IMAGE }} continue-on-error: true steps: - uses: actions/checkout@v3 - name: Prepare run: | pnpm install -g pnpm pnpm install -g @shipzone/npmci npmci npm prepare - name: Code quality run: | npmci command npm install -g typescript npmci npm install - name: Trigger run: npmci trigger - name: Build docs and upload artifacts run: | npmci node install stable npmci npm install pnpm install -g @git.zone/tsdoc npmci command tsdoc continue-on-error: true