From 5934c783169165c4a655229276f222138c75d6b6 Mon Sep 17 00:00:00 2001 From: seven Date: Sun, 21 Jan 2024 18:05:38 +0800 Subject: [PATCH] feat: init ci pipeline Signed-off-by: seven --- .github/workflows/node.yml | 37 +++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 38 insertions(+) create mode 100644 .github/workflows/node.yml diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml new file mode 100644 index 0000000..8636512 --- /dev/null +++ b/.github/workflows/node.yml @@ -0,0 +1,37 @@ +name: Node.js CI + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest] + node-version: [20.x] + + runs-on: ${{ matrix.os }} + timeout-minutes: 20 + + steps: + - name: Github checkout + uses: actions/checkout@v4 + if: matrix.os == 'ubuntu-latest' + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm run lint:check + - run: npm audit --audit-level=critical + - run: npm run test:ci + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + - run: npm run build diff --git a/package.json b/package.json index 8e50918..144f039 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "index.js", "scripts": { "test": "DEBUG=hostsless jest --runInBand --detectOpenHandles --coverage --coverageReporters json-summary text html lcov", + "test:ci": "jest --runInBand --ci --coverage --coverageReporters json-summary text html lcov", "build": "tsc --build", "lint:fix": "eslint --fix ./", "lint:check": "eslint ./"