diff --git a/.github/workflows/release-v2-beta-core.yml b/.github/workflows/release-v2-beta-core.yml index fb6b65a193..eb8ac9d372 100644 --- a/.github/workflows/release-v2-beta-core.yml +++ b/.github/workflows/release-v2-beta-core.yml @@ -1,11 +1,7 @@ name: Release CLI Core (v2 Beta) on: - workflow_dispatch: - push: - branches: [v2-beta] - paths: - - 'packages/contentstack/package.json' + workflow_call: jobs: build: @@ -28,6 +24,12 @@ jobs: - name: Clean the repository run: pnpm run clean:all + - name: Install root dependencies + run: pnpm install --frozen-lockfile + + - name: Build all packages + run: pnpm -r --sort run build + - name: Reading Configuration id: release_config uses: rgarcia-phi/json-to-variables@v1.1.0 @@ -35,15 +37,6 @@ jobs: filename: .github/config/release.json prefix: release - # Core CLI - - name: Install all dependencies - id: core-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_core == 'true'}} - run: pnpm install --frozen-lockfile - - - name: Build all packages - run: pnpm -r --concurrency 1 run build - - name: Publishing core (Beta) id: publish-core uses: JS-DevTools/npm-publish@v3 diff --git a/.github/workflows/release-v2-beta-platform-plugins.yml b/.github/workflows/release-v2-beta-platform-plugins.yml index c781280a5f..664306729a 100644 --- a/.github/workflows/release-v2-beta-platform-plugins.yml +++ b/.github/workflows/release-v2-beta-platform-plugins.yml @@ -1,8 +1,7 @@ name: Release CLI Platform Plugins (v2 Beta) on: - push: - branches: [v2-beta] + workflow_call: jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 27f6b93073..91a18956d8 100755 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,354 +1,15 @@ -name: Release CLI Plugins +name: CLI Release Pipeline on: push: - branches: [main] + branches: [v2-beta] jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - with: - version: 7 - - uses: actions/setup-node@v4 - with: - node-version: '22.x' - - - name: Enable Corepack - run: corepack enable - - - name: Install pnpm - run: corepack prepare pnpm@7 --activate - - - name: Install root dependencies - run: pnpm install - - - name: Reading Configuration - id: release_config - uses: rgarcia-phi/json-to-variables@v1.1.0 - with: - filename: .github/config/release.json - prefix: release - # Dev Dependencies - - name: Installing dependencies of dev dependencies - id: dev-dependencies-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_dev-dependencies == 'true'}} - working-directory: ./packages/contentstack-dev-dependencies - run: npm install - - name: Compiling dev dependencies - if: ${{ steps.dev-dependencies-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-dev-dependencies - run: npm run prepack - - name: Publishing dev dependencies - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.dev-dependencies-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-dev-dependencies/package.json - - # Utilities - - name: Installing dependencies of utilities - id: utilities-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_utilities == 'true'}} - working-directory: ./packages/contentstack-utilities - run: npm install - - name: Compiling utilities - if: ${{ steps.utilities-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-utilities - run: npm run prepack - - name: Publishing utilities - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.utilities-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-utilities/package.json - - # Variants - - name: Installing dependencies of variants - id: variants-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_utilities == 'true'}} - working-directory: ./packages/contentstack-variants - run: npm install - - name: Compiling variants - if: ${{ steps.variants-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-variants - run: npm run prepack - - name: Publishing variants - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.variants-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-variants/package.json - access: public - - # Command - - name: Installing dependencies of command - id: command-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_command == 'true'}} - working-directory: ./packages/contentstack-command - run: npm install - - name: Compiling command - if: ${{ steps.command-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-command - run: npm run prepack - - name: Publishing command - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.command-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-command/package.json - - # Config - - name: Installing dependencies of config - id: config-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_config == 'true'}} - working-directory: ./packages/contentstack-config - run: npm install - - name: Compiling config - if: ${{ steps.config-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-config - run: npm run prepack - - name: Publishing config - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.config-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-config/package.json - - # Auth - - name: Installing dependencies of auth - id: auth-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_auth == 'true'}} - working-directory: ./packages/contentstack-auth - run: npm install - - name: Compiling auth - if: ${{ steps.auth-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-auth - run: npm run prepack - - name: Publishing auth - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.auth-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-auth/package.json - - # Export - - name: Installing dependencies of export - id: export-installation - if: ${{ env.release_releaseAll == 'true' || env.release_plugins_export == 'true'}} - working-directory: ./packages/contentstack-export - run: npm install - - name: Compiling export - if: ${{ steps.export-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-export - run: npm run prepack - - name: Publishing export - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.export-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-export/package.json - - # Audit - - name: Installing dependencies of audit - id: audit-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_audit == 'true'}} - working-directory: ./packages/contentstack-audit - run: npm install - - name: Compiling audit - if: ${{ steps.audit-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-audit - run: npm run prepack - - name: Publishing audit - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.audit-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-audit/package.json - access: public - - # Import - - name: Installing dependencies of import - id: import-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_import == 'true'}} - working-directory: ./packages/contentstack-import - run: npm install - - name: Compiling import - if: ${{ steps.import-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-import - run: npm run prepack - - name: Publishing import - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.import-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-import/package.json - - # Clone - - name: Installing dependencies of clone - id: clone-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_clone == 'true'}} - working-directory: ./packages/contentstack-clone - run: npm install - - name: Compiling Clone - if: ${{ steps.clone-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-clone - run: npm run prepack - - name: Publishing clone - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.clone-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-clone/package.json - - # Import Setup - - name: Installing dependencies of import-setup - id: import-setup-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_import_setup == 'true'}} - working-directory: ./packages/contentstack-import-setup - run: npm install - - name: Compiling import-setup - if: ${{ steps.import-setup-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-import-setup - run: npm run prepack - - name: Publishing import-setup - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.import-setup-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-import-setup/package.json - access: public - - # Export to CSV - - name: Installing dependencies of export to csv - id: export-to-csv-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_export-to-csv == 'true'}} - working-directory: ./packages/contentstack-export-to-csv - run: npm install - - name: Compiling export to csv - if: ${{ steps.export-to-csv-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-export-to-csv - run: npm run prepack - - name: Publishing export to csv - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.export-to-csv-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-export-to-csv/package.json - - # Migration - - name: Installing dependencies of migration - id: migration-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_migration == 'true'}} - working-directory: ./packages/contentstack-migration - run: npm install - - name: Compiling Migration - if: ${{ steps.migration-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-migration - run: npm run prepack - - name: Publishing migration - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.migration-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-migration/package.json - - # Seed - - name: Installing dependencies of seed - id: seed-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_seed == 'true'}} - working-directory: ./packages/contentstack-seed - run: npm install - - name: Compiling seed - if: ${{ steps.seed-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-seed - run: npm run prepack - - name: Publishing seed - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.seed-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-seed/package.json - - # Bootstrap - - name: Installing dependencies of bootstrap - id: bootstrap-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_bootstrap == 'true'}} - working-directory: ./packages/contentstack-bootstrap - run: npm install - - name: Compiling bootstrap - if: ${{ steps.bootstrap-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-bootstrap - run: npm run prepack - - name: Publishing bootstrap - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.bootstrap-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-bootstrap/package.json - - # Bulk Publish - - name: Installing dependencies of bulk publish - id: bulk-publish-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_bulk-publish == 'true'}} - working-directory: ./packages/contentstack-bulk-publish - run: npm install - - name: Publishing bulk publish - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.bulk-publish-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-bulk-publish/package.json - - # Branches - - name: Installing dependencies of branches - id: branches-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_branches == 'true'}} - working-directory: ./packages/contentstack-branches - run: npm install - - name: Compiling branches - if: ${{ steps.branches-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack-branches - run: npm run prepack - - name: Publishing branches - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.branches-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack-branches/package.json - access: public - - name: Installing dependencies of core - id: core-installation - if: ${{env.release_releaseAll == 'true' || env.release_plugins_core == 'true'}} - working-directory: ./packages/contentstack - run: npm install - - name: Compiling core - if: ${{ steps.core-installation.conclusion == 'success' }} - working-directory: ./packages/contentstack - run: npm run prepack - - name: Publishing core - id: publish-core - uses: JS-DevTools/npm-publish@v3 - if: ${{ steps.core-installation.conclusion == 'success' }} - with: - token: ${{ secrets.NPM_TOKEN }} - package: ./packages/contentstack/package.json - - uses: actions/checkout@v4 - if: ${{ steps.publish-core.conclusion == 'success' }} - with: - ref: 'prod-qa-pipeline' - - run: echo ${{ steps.publish-core.outputs.version }} > version.md - if: ${{ steps.publish-core.conclusion == 'success' }} - - uses: EndBug/add-and-commit@v9 - if: ${{ steps.publish-core.conclusion == 'success' }} - with: - message: 'Released version' - - name: Create Release - if: ${{ steps.publish-core.conclusion == 'success' }} - id: create_release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - VERSION: ${{ steps.publish-core.outputs.version }} - run: gh release create v"$VERSION" --title "Release $VERSION" --generate-notes + plugins: + uses: ./.github/workflows/release-v2-beta-platform-plugins.yml + secrets: inherit + + core: + needs: plugins + uses: ./.github/workflows/release-v2-beta-core.yml + secrets: inherit diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 800d7b9bba..0ef31e8c7c 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -26,7 +26,7 @@ jobs: # run: mv packages/contentstack/package.json packages/contentstack/package.json.disabled || true - name: Install Dependencies (Excluding Contentstack) - run: pnpm install --frozen-lockfile + run: pnpm install --no-frozen-lockfile - name: Build all plugins (Excluding Contentstack) run: | diff --git a/.talismanrc b/.talismanrc index caf0ac69a9..aecfbc282c 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,6 +1,8 @@ fileignoreconfig: - - filename: package-lock.json - checksum: a76d549ee4cbf3da65907ccf49fd0f2e5027f39be8c7ac431e7e38c9b1b5df8e - filename: pnpm-lock.yaml - checksum: adf3973977563fbc08ca18420b102616ea0573c5633067e0793c7ccbe1462cad + checksum: a73fa0520b8f116e22cf347f4e2979a68ca798d922665b3f7b0118fffa66891d + - filename: packages/contentstack/README.md + checksum: 68fe850ccf5398d26d3e1f67996284643756ea600bf9440562b54bd162d7afac + - filename: .github/workflows/release.yml + checksum: 81dcc2694eafebd0cf8ecf7a1c635a2d2978ac9c5d1ab91ae3bab106466a22f9 version: '1.0' diff --git a/packages/contentstack/package.json b/packages/contentstack/package.json index 3f340a0ac2..5f6505e9c9 100755 --- a/packages/contentstack/package.json +++ b/packages/contentstack/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli", "description": "Command-line tool (CLI) to interact with Contentstack", - "version": "2.0.0-beta.14", + "version": "2.0.0-beta.15", "author": "Contentstack", "bin": { "csdx": "./bin/run.js" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5785843392..983e500486 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6595,7 +6595,7 @@ snapshots: '@contentstack/cli-command@1.7.2(@types/node@14.18.63)(debug@4.4.3)': dependencies: '@contentstack/cli-utilities': 1.17.4(@types/node@14.18.63)(debug@4.4.3) - '@oclif/core': 4.8.1 + '@oclif/core': 4.8.3 '@oclif/plugin-help': 6.2.37 contentstack: 3.26.4 transitivePeerDependencies: @@ -6686,7 +6686,7 @@ snapshots: dependencies: '@contentstack/management': 1.27.6(debug@4.4.3) '@contentstack/marketplace-sdk': 1.5.0(debug@4.4.3) - '@oclif/core': 4.8.1 + '@oclif/core': 4.8.3 axios: 1.13.5(debug@4.4.3) chalk: 4.1.2 cli-cursor: 3.1.0