Skip to content

ci: 更改ci

ci: 更改ci #2

Workflow file for this run

name: CI
on:
push:
branches:
- main
- develop
jobs:
build:
strategy:
fail-fast: false
matrix:
node-version: [16, 18, 20]
runs-on: ubuntu-latest
outputs:
publish: ${{steps.check_tag.outputs.tags}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup NodeJS
uses: asnowc/actions@setup-node/v2
with:
node_v: ${{matrix.node-version}}
pnpm_v: 8
run_install: true
- name: Build
run: pnpm ci:build
- name: Unit test
run: pnpm ci:test
- name: Check Tags
id: check_tag
uses: asnowc/actions@check-tags/v1
with:
file: package.json
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
publish:
needs: build
if: ${{needs.build.outputs.publish&&github.ref_name=='main'}}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup NodeJS
uses: asnowc/actions@setup-node/v2
with:
node_v: 20
pnpm_v: 8
run_install: true
- name: Build
run: pnpm ci:build
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Publish
uses: asnowc/actions@deno-script/v1
with:
script: |
import { tagsPublishFlow } from "https://cdn.jsdelivr.net/gh/dnpack/[email protected]/cmd/github_repo.ts";
import { execCmdSync } from "https://cdn.jsdelivr.net/gh/dnpack/[email protected]/lib.ts";
await tagsPublishFlow("NEW_TAGS", () => execCmdSync("pnpm", ["publish"], { exitIfFail: true }));
args: -A --no-lock
env:
NEW_TAGS: ${{needs.build.outputs.publish}}
GITHUB_TOKEN: ${{secrets.CI_GITHUB_TOKEN}}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}