chore: release v2.7.2 - 鎬ц兘浼樺寲鍜宐ug淇 #51
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-and-release: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run linting | |
| run: npm run lint --if-present | |
| - name: Run tests | |
| run: npm test --if-present | |
| - name: Clean previous build artifacts | |
| run: | | |
| rm -rf dist | |
| rm -f index.js | |
| rm -rf release-package | |
| - name: Build package | |
| run: npm run build | |
| - name: Verify build output | |
| run: | | |
| echo "Build output:" | |
| ls -la dist/ | |
| - name: Create release package | |
| run: | | |
| # 创建发布目录 | |
| mkdir -p release-package | |
| mkdir -p release-package/dist | |
| # 复制必要文件到发布目录 | |
| cp dist/index.js release-package/dist/ | |
| cp package.json release-package/ | |
| cp README.md release-package/ | |
| cp icon.png release-package/ | |
| # 如果存在 source map,也复制到 dist 目录 | |
| if [ -f "dist/index.js.map" ]; then | |
| cp dist/index.js.map release-package/dist/ | |
| fi | |
| # 创建压缩包 | |
| cd release-package | |
| zip -r ../orca-tabs-plugin.zip . | |
| tar -czf ../orca-tabs-plugin.tar.gz . | |
| cd .. | |
| echo "Release package created:" | |
| ls -la orca-tabs-plugin.* | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| orca-tabs-plugin.zip | |
| orca-tabs-plugin.tar.gz | |
| generate_release_notes: true | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |