From 3fd6b68c4b0ce1468080733c98f4445ae468d2f4 Mon Sep 17 00:00:00 2001 From: Mayank Kumar Chaudhari Date: Sun, 13 Aug 2023 17:31:35 +0530 Subject: [PATCH] add test action and update publish scripts --- .../publish-to-npm-on-new-release.yml | 2 +- .github/workflows/test.yml | 25 +++++++++++++++++++ packages/nextjs-themes/createPackageJSON.js | 8 ++++++ packages/nextjs-themes/package.json | 4 +-- packages/nextjs-themes/prepGPR.js | 8 ++++++ 5 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/publish-to-npm-on-new-release.yml b/.github/workflows/publish-to-npm-on-new-release.yml index b07a305f..f9475143 100644 --- a/.github/workflows/publish-to-npm-on-new-release.yml +++ b/.github/workflows/publish-to-npm-on-new-release.yml @@ -1,4 +1,4 @@ -name: Publish to npm and GitHub +name: Publish (NPM & GPR) on: release: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..b216ab46 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,25 @@ +name: test + +on: [push, pull_request] + +jobs: + test: + runs-on: ubuntu-latest + + defaults: + run: + working-directory: ./packages/nextjs-themes + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: https://registry.npmjs.org + - run: npm i -g pnpm && pnpm i --filter nextjs-themes + name: Install dependencies + - name: Test + run: npm test + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/packages/nextjs-themes/createPackageJSON.js b/packages/nextjs-themes/createPackageJSON.js index 11705830..373b8a5a 100644 --- a/packages/nextjs-themes/createPackageJSON.js +++ b/packages/nextjs-themes/createPackageJSON.js @@ -11,3 +11,11 @@ packageJson.main = "index.js"; packageJson.types = "index.d.ts"; fs.writeFileSync(path.resolve(__dirname, "dist", "package.json"), JSON.stringify(packageJson, null, 2)); + +const readMePath = path.resolve(__dirname, "dist", "README.md"); +let readMe = fs.readFileSync(readMePath, { encoding: "utf8" }); +readMe.replace( + "[![Publish to npm and GitHub](https://github.com/mayank1513/nextjs-themes/actions/workflows/publish-to-npm-on-new-release.yml/badge.svg)](https://github.com/mayank1513/nextjs-themes/actions/workflows/publish-to-npm-on-new-release.yml)", + "", +); +fs.writeFileSync(readMePath, readMe); diff --git a/packages/nextjs-themes/package.json b/packages/nextjs-themes/package.json index 3dee7d75..3cf7dcef 100644 --- a/packages/nextjs-themes/package.json +++ b/packages/nextjs-themes/package.json @@ -19,9 +19,9 @@ "build": "tsup src --dts", "build:fast": "tsup src", "dev": "pnpm build:fast --watch", - "publish-package": "node createPackageJSON.js && cp ../../README.md dist/README.md && cd dist && npm publish && cd ..", + "publish-package": "cp ../../README.md dist && node createPackageJSON.js && cd dist && npm publish && cd ..", "publish-package2": "node seo.js && cd dist && npm publish && cd ..", - "publish-gpr": "node prepGPR.js && cp ../../README.md dist/README.md && cd dist && npm publish && cd ..", + "publish-gpr": "cp ../../README.md dist && node prepGPR.js && cd dist && npm publish && cd ..", "publish-gpr2": "node seo.js && cd dist && npm publish", "test": "vitest run --coverage" }, diff --git a/packages/nextjs-themes/prepGPR.js b/packages/nextjs-themes/prepGPR.js index a5830d28..be1ccd20 100644 --- a/packages/nextjs-themes/prepGPR.js +++ b/packages/nextjs-themes/prepGPR.js @@ -10,3 +10,11 @@ packageJson.publishConfig = { }; fs.writeFileSync(path.resolve(__dirname, "dist", "package.json"), JSON.stringify(packageJson, null, 2)); + +const readMePath = path.resolve(__dirname, "dist", "README.md"); +let readMe = fs.readFileSync(readMePath, { encoding: "utf8" }); +readMe.replace( + "[![Publish to npm and GitHub](https://github.com/mayank1513/nextjs-themes/actions/workflows/publish-to-npm-on-new-release.yml/badge.svg)](https://github.com/mayank1513/nextjs-themes/actions/workflows/publish-to-npm-on-new-release.yml)", + "", +); +fs.writeFileSync(readMePath, readMe);