125 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Default (tags)
 | 
						|
 | 
						|
on:
 | 
						|
  push:
 | 
						|
    tags:
 | 
						|
      - '*'
 | 
						|
 | 
						|
env:
 | 
						|
  IMAGE: code.foss.global/host.today/ht-docker-node:npmci
 | 
						|
  NPMCI_COMPUTED_REPOURL: https://${{gitea.repository_owner}}:${{secrets.GITEA_TOKEN}}@/${{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 @ship.zone/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 @ship.zone/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 @ship.zone/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 @ship.zone/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
 |