name: NPM packages # on: [push] on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' - 'v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+' permissions: id-token: write contents: write # on: # push: # branches: # - production jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-22.04] steps: - name: Context env: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo "$GITHUB_CONTEXT" - uses: actions/checkout@v2 with: fetch-depth: 1 - name: Use Node.js 22.x uses: actions/setup-node@v1 with: node-version: 22.x # Ensure npm 11.5.1 or later is installed - name: Update npm run: npm install -g npm@latest # - name: Configure NPM token # env: # NPM_TOKEN: ${{ secrets.NPM_TOKEN }} # run: | # npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}" - name: yarn install run: | yarn install - name: setCurrentVersion run: | yarn setCurrentVersion - name: Compute npm dist-tag run: | if [[ "${GITHUB_REF_NAME}" =~ -alpha\. ]]; then echo "NPM_TAG=alpha" >> $GITHUB_ENV else echo "NPM_TAG=latest" >> $GITHUB_ENV fi - name: Publish types working-directory: packages/types run: | npm publish --tag "$NPM_TAG" - name: Publish tools working-directory: packages/tools run: | npm publish --tag "$NPM_TAG" - name: Publish sqltree working-directory: packages/sqltree run: | npm publish --tag "$NPM_TAG" - name: Publish api working-directory: packages/api run: | npm publish --tag "$NPM_TAG" - name: Publish datalib working-directory: packages/datalib run: | npm publish --tag "$NPM_TAG" - name: Publish filterparser working-directory: packages/filterparser run: | npm publish --tag "$NPM_TAG" - name: Publish web working-directory: packages/web run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-serve working-directory: packages/serve run: | npm publish --tag "$NPM_TAG" - name: Publish dbmodel working-directory: packages/dbmodel run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-csv working-directory: plugins/dbgate-plugin-csv run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-xml working-directory: plugins/dbgate-plugin-xml run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-excel working-directory: plugins/dbgate-plugin-excel run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-mssql working-directory: plugins/dbgate-plugin-mssql run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-mysql working-directory: plugins/dbgate-plugin-mysql run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-mongo working-directory: plugins/dbgate-plugin-mongo run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-postgres working-directory: plugins/dbgate-plugin-postgres run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-sqlite working-directory: plugins/dbgate-plugin-sqlite run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-redis working-directory: plugins/dbgate-plugin-redis run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-oracle working-directory: plugins/dbgate-plugin-oracle run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-clickhouse working-directory: plugins/dbgate-plugin-clickhouse run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-dbf working-directory: plugins/dbgate-plugin-dbf run: | npm publish --tag "$NPM_TAG" - name: Publish dbgate-plugin-cassandra working-directory: plugins/dbgate-plugin-cassandra run: | npm publish --tag "$NPM_TAG"