diff --git a/.github/workflows/check-pull-request.yml b/.github/workflows/check-pull-request.yml index d4003d2cc..899ebaf51 100644 --- a/.github/workflows/check-pull-request.yml +++ b/.github/workflows/check-pull-request.yml @@ -16,7 +16,7 @@ jobs: node-version: 20 check-latest: true cache: 'pnpm' - - run: pnpm install + - run: make install-dependencies - name: Check title run: | title=$(cat <<- "EOF" diff --git a/.github/workflows/deploy-doc.yml b/.github/workflows/deploy-doc.yml index b17ebedd8..2180e7b72 100644 --- a/.github/workflows/deploy-doc.yml +++ b/.github/workflows/deploy-doc.yml @@ -46,9 +46,9 @@ jobs: id: pages uses: actions/configure-pages@v5 - name: Install dependencies - run: pnpm install + run: make install-dependencies - name: Build doc - run: pnpm run doc + run: make doc - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/.github/workflows/deploy-package.yml b/.github/workflows/deploy-package.yml index 8907f69d8..acb090a38 100644 --- a/.github/workflows/deploy-package.yml +++ b/.github/workflows/deploy-package.yml @@ -30,18 +30,18 @@ jobs: registry-url: 'https://registry.npmjs.org/' node-version: 20 check-latest: true - - run: pnpm install - - run: pnpm run build + - run: make install-dependencies + - run: make build - name: Version package with lerna - run: pnpm lerna version -y --no-private --force-git-tag --create-release github + run: make publish env: HUSKY: 0 GH_TOKEN: ${{ secrets.GH_TOKEN }} # https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages#publishing-packages-to-the-npm-registry - name: Publish to npm - run: pnpm -r publish --access public --tag latest + run: make publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 1749fea34..cda60e638 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -19,8 +19,8 @@ jobs: node-version: 20 check-latest: true cache: 'pnpm' - - run: pnpm install - - run: pnpm typecheck + - run: make install-dependencies + - run: make typing lint: runs-on: ubuntu-24.04 steps: @@ -32,8 +32,8 @@ jobs: node-version: 20 check-latest: true cache: 'pnpm' - - run: pnpm install - - run: pnpm run build + - run: make install-dependencies + - run: make build - run: pnpm run lint test: runs-on: ubuntu-24.04 @@ -54,7 +54,7 @@ jobs: node-version: ${{ matrix.node }} check-latest: true cache: 'pnpm' - - run: pnpm install - - run: pnpm run build + - run: make install-dependencies + - run: make build - run: pnpm run test:coverage --environment ${{ matrix.test-environment }} - uses: codecov/codecov-action@v5.4.2 diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..f6510fd1d --- /dev/null +++ b/Makefile @@ -0,0 +1,47 @@ +WORKDIR = $(shell pwd) + +LIBRARIES = $(shell find packages packages_generated -mindepth 1 -maxdepth 1 -type d) + +build: + pnpm turbo build + +install-dependencies: + pnpm install + +format: + pnpm run format + +format-check: + pnpm run format:check + +typing: + pnpm turbo typecheck + +lint: + pnpm turbo lint + +test: + pnpm turbo test + +test-coverage: + pnpm run test:coverage + +doc: + pnpm run doc + +prebuild: + pnpm run prebuild + +generate-alias: + pnpm run generateAlias + +generate-packages: + pnpm run generatePackages + +generate-global-sdk-package: + pnpm run generateGlobalSdkPackage + +publish: install-dependencies + pnpm run build + pnpm lerna changed + pnpm exec lerna publish -y --registry $(NPM_PUBLISH_REGISTRY) --ignore-scripts