diff --git a/.github/workflows/version-bump.yaml b/.github/workflows/version-bump.yaml new file mode 100644 index 000000000..cf3e29c19 --- /dev/null +++ b/.github/workflows/version-bump.yaml @@ -0,0 +1,51 @@ +name: Version Bump + +on: + workflow_dispatch: + inputs: + version_type: + description: 'Version increment type' + required: true + default: 'patch' + type: 'choice' + options: + - patch + - minor + - major + +jobs: + bump-version: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: lts/* + cache: 'npm' + + - name: Bump version + id: bump-version + run: | + npm version ${{ github.event.inputs.version_type }} --no-git-tag-version + NEW_VERSION=$(node -p "require('./package.json').version") + echo "NEW_VERSION=$NEW_VERSION" >> $GITHUB_OUTPUT + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.PR_GH_TOKEN }} + commit-message: '[release] Bump version to ${{ steps.bump-version.outputs.NEW_VERSION }}' + title: '${{ steps.bump-version.outputs.NEW_VERSION }}' + body: | + Automated version bump to ${{ steps.bump-version.outputs.NEW_VERSION }} + branch: version-bump-${{ steps.bump-version.outputs.NEW_VERSION }} + base: main + labels: | + Release \ No newline at end of file diff --git a/package.json b/package.json index 6c8659324..76b8fe591 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "dev:electron": "vite --config vite.electron.config.mts", "build": "npm run typecheck && vite build", "build:types": "vite build --config vite.types.config.mts && node scripts/prepare-types.js", - "release": "node scripts/release.js", "zipdist": "node scripts/zipdist.js", "typecheck": "vue-tsc --noEmit && tsc --noEmit && tsc-strict", "format": "prettier --write './**/*.{js,ts,tsx,vue,mts}'", diff --git a/scripts/release.js b/scripts/release.js deleted file mode 100644 index 04f6595c5..000000000 --- a/scripts/release.js +++ /dev/null @@ -1,30 +0,0 @@ -import { execSync } from 'child_process' -import { readFileSync } from 'fs' - -try { - // Create a new branch with version-bump prefix - console.log('Creating new branch...') - const date = new Date().toISOString().split('T')[0] - const timestamp = new Date().getTime() - const branchName = `version-bump-${date}-${timestamp}` - execSync(`git checkout -b ${branchName} -t origin/main`, { stdio: 'inherit' }) - - // Run npm version patch and capture the output - console.log('Bumping version...') - execSync('npm version patch', { stdio: 'inherit' }) - - // Read the new version from package.json - const packageJson = JSON.parse(readFileSync('./package.json', 'utf8')) - const newVersion = packageJson.version - - // Create the PR - console.log('Creating PR...') - execSync( - `gh pr create --title "${newVersion}" --label "Release" --body "Automated version bump to ${newVersion}"`, - { stdio: 'inherit' } - ) - - console.log(`✅ Successfully created PR for version ${newVersion}`) -} catch (error) { - console.error('❌ Error during release process:', error.message) -}