diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 94dc6a93d..cb1a12ef1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -292,41 +292,39 @@ jobs: if: startsWith(github.ref_name, 'release/') run: node common/scripts/apply-release-version.js 'none' ${{ steps.semver_release.outputs.main }} - - name: Build vutils-extension && vtable + - name: Build packages env: NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --to @visactor/vtable - - - name: Build vtable-extension - if: startsWith(github.ref_name, 'release/') || startsWith(github.ref_name, 'pre-release/') - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/vtable-extension - - - name: Build react-vtable - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/react-vtable - - - name: Build openinula-vtable - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/openinula-vtable + run: | + set -euo pipefail + package_names=() + while IFS= read -r package_name; do + [ -n "$package_name" ] && package_names+=("$package_name") + done < <(node <<'NODE' + const fs = require('fs'); + const path = require('path'); - - name: Build taro-vtable - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/taro-vtable + const packagesDir = path.join(process.cwd(), 'packages'); + const packageNames = fs + .readdirSync(packagesDir, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => path.join(packagesDir, entry.name, 'package.json')) + .filter((packageJsonPath) => fs.existsSync(packageJsonPath)) + .map((packageJsonPath) => JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')).name) + .filter(Boolean) + .sort(); + + console.log(packageNames.join('\n')); + NODE + ) - - name: Build lark-vtable - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/lark-vtable + build_args=() + for package_name in "${package_names[@]}"; do + build_args+=(--to "$package_name") + done - - name: Build wx-vtable - env: - NODE_OPTIONS: '--max_old_space_size=4096' - run: node common/scripts/install-run-rush.js build --only @visactor/wx-vtable + echo "Build packages: ${package_names[*]}" + node common/scripts/install-run-rush.js build "${build_args[@]}" - name: Publish to npm (release) if: startsWith(github.ref_name, 'release/') diff --git a/common/scripts/apply-release-version.js b/common/scripts/apply-release-version.js new file mode 100644 index 000000000..b9fd22a46 --- /dev/null +++ b/common/scripts/apply-release-version.js @@ -0,0 +1,19 @@ +const writePrereleaseVersion = require('./set-prerelease-version'); +const checkAndUpdateNextBump = require('./version-policies'); +const parseVersion = require('./parse-version'); + + +function run() { + const preReleaseName = process.argv.slice(2)[0]; + const nextVersionOrNextBump = process.argv.slice(2)[1]; + const buildName = process.argv.slice(2)[2]; + const nextBump = checkAndUpdateNextBump(nextVersionOrNextBump); + const parsedNextVersion = nextVersionOrNextBump ? parseVersion(nextVersionOrNextBump) : null; + const nextVersion = parsedNextVersion ? `${parsedNextVersion.major}.${parsedNextVersion.minor}.${parsedNextVersion.patch}`: null; + + console.log('[apply prerelease version]: ', preReleaseName, nextBump, nextVersion); + + writePrereleaseVersion(nextBump, preReleaseName, nextVersion, buildName); +} + +run() diff --git a/packages/openinula-vtable/package.json b/packages/openinula-vtable/package.json index 116be3c1b..850347fd2 100644 --- a/packages/openinula-vtable/package.json +++ b/packages/openinula-vtable/package.json @@ -91,5 +91,10 @@ }, "peerDependencies": { "openinula": "~0.1.2-SNAPSHOT" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/openinula-vtable" } } diff --git a/packages/react-vtable/package.json b/packages/react-vtable/package.json index b24f079d7..784dacae7 100644 --- a/packages/react-vtable/package.json +++ b/packages/react-vtable/package.json @@ -110,5 +110,10 @@ "@types/react-is": "^17.0.3", "@arco-design/web-react": "2.66.12", "@types/react-reconciler": "0.28.9" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/react-vtable" } } diff --git a/packages/vtable-calendar/package.json b/packages/vtable-calendar/package.json index 82105b162..ed2c3ec92 100644 --- a/packages/vtable-calendar/package.json +++ b/packages/vtable-calendar/package.json @@ -87,5 +87,10 @@ "axios": "^1.4.0", "@types/react-is": "^17.0.3", "rollup-plugin-node-resolve": "5.2.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/vtable-calendar" } } diff --git a/packages/vtable-export/package.json b/packages/vtable-export/package.json index 4633b2fe7..ef28674d5 100644 --- a/packages/vtable-export/package.json +++ b/packages/vtable-export/package.json @@ -90,5 +90,10 @@ "axios": "^1.4.0", "@types/react-is": "^17.0.3", "rollup-plugin-node-resolve": "5.2.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/vtable-export" } } diff --git a/packages/vtable-plugins/package.json b/packages/vtable-plugins/package.json index aa1760334..a4aecb76b 100644 --- a/packages/vtable-plugins/package.json +++ b/packages/vtable-plugins/package.json @@ -110,5 +110,10 @@ "rollup-plugin-node-resolve": "5.2.0", "@types/lodash": "4.14.182" }, - "packageManager": "pnpm@10.7.0" + "packageManager": "pnpm@10.7.0", + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/vtable-plugins" + } } diff --git a/packages/vtable-search/package.json b/packages/vtable-search/package.json index 29621a1de..f97854e0b 100644 --- a/packages/vtable-search/package.json +++ b/packages/vtable-search/package.json @@ -86,5 +86,10 @@ "axios": "^1.4.0", "@types/react-is": "^17.0.3", "rollup-plugin-node-resolve": "5.2.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/vtable-search" } } diff --git a/packages/vue-vtable/package.json b/packages/vue-vtable/package.json index 4bd2f9883..5dd6352d7 100644 --- a/packages/vue-vtable/package.json +++ b/packages/vue-vtable/package.json @@ -107,5 +107,10 @@ "axios": "^1.4.0", "eslint-plugin-vue": "^9.26.0", "vue-eslint-parser": "^9.4.2" + }, + "repository": { + "type": "git", + "url": "https://github.com/VisActor/VTable.git", + "directory": "packages/vue-vtable" } }