smartfile/.gitea/workflows/gitzone_ci_default.yaml

111 lines
2.4 KiB
YAML
Raw Normal View History

2023-06-23 14:44:44 +00:00
name: CI Pipeline
on: push
env:
IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci
2023-06-23 23:26:08 +00:00
NPMCI_TOKEN_NPM: ${{secrets.NPMCI_TOKEN_NPM}}
NPMCI_TOKEN_NPM2: ${{secrets.NPMCI_TOKEN_NPM2}}
2023-06-23 14:44:44 +00:00
jobs:
security:
runs-on: ubuntu-latest
continue-on-error: true
container:
2023-06-23 16:43:49 +00:00
image: ${{ env.IMAGE }}
outputs:
dummy: ${{ true }}
2023-06-23 14:44:44 +00:00
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
2023-06-23 16:49:56 +00:00
continue-on-error: true
2023-06-23 14:44:44 +00:00
- name: Audit development dependencies
run: |
npmci command npm config set registry https://registry.npmjs.org
npmci command pnpm audit --audit-level=high --dev
2023-06-23 16:49:56 +00:00
continue-on-error: true
2023-06-23 14:44:44 +00:00
test:
needs: security
runs-on: ubuntu-latest
container:
2023-06-23 16:43:49 +00:00
image: ${{ env.IMAGE }}
2023-06-23 14:44:44 +00:00
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:
2023-06-23 16:43:49 +00:00
image: ${{ env.IMAGE }}
2023-06-23 14:44:44 +00:00
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:
2023-06-23 16:43:49 +00:00
image: ${{ env.IMAGE }}
2023-06-23 14:44:44 +00:00
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