fix: try fix ci #180
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: Release | |
| on: | |
| push: | |
| branches: | |
| - '**' | |
| jobs: | |
| release: | |
| permissions: | |
| id-token: write | |
| contents: write | |
| if: "contains(github.event.head_commit.message, 'chore: release') || (github.ref == 'refs/heads/beta')" | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| - name: Use Node.js v20 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: pnpm | |
| - run: pnpm install | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Test | |
| run: pnpm run test | |
| - name: Set Preview Version for Beta Branch | |
| if: "github.ref == 'refs/heads/beta'" | |
| run: | | |
| # get current version | |
| CURRENT_VERSION=$(node -p "require('./package.json').version") | |
| # parse version components | |
| MAJOR=$(echo $CURRENT_VERSION | cut -d. -f1) | |
| MINOR=$(echo $CURRENT_VERSION | cut -d. -f2) | |
| PATCH=$(echo $CURRENT_VERSION | cut -d. -f3) | |
| # check if MINOR is even | |
| if [ $((MINOR % 2)) -eq 0 ]; then | |
| # if it is even, add 1 to make it odd (preview version) | |
| NEW_MINOR=$((MINOR + 1)) | |
| else | |
| # if it is odd, keep it | |
| NEW_MINOR=$MINOR | |
| fi | |
| # build new preview version | |
| PREVIEW_VERSION="$MAJOR.$NEW_MINOR.$PATCH" | |
| # update package.json | |
| node -e "const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('./package.json'));pkg.version='${PREVIEW_VERSION}';fs.writeFileSync('./package.json',JSON.stringify(pkg,null,2));" | |
| echo "Set preview version to ${PREVIEW_VERSION}" | |
| - name: Publish | |
| run: pnpm run publish | |
| env: | |
| VSCE_TOKEN: ${{secrets.VSCE_TOKEN}} | |
| OVSX_TOKEN: ${{secrets.OVSX_TOKEN}} | |
| IS_PREVIEW: ${{ github.ref == 'refs/heads/beta' && 'true' || 'false' }} | |
| - name: Git commit | |
| id: commit | |
| run: | | |
| git config --local user.email github-actions[bot]@users.noreply.github.com | |
| git config --local user.name github-actions[bot] | |
| git config --global core.autocrlf true | |
| git config --global core.safecrlf false | |
| git add . | |
| git commit -m "chore: ci build" -a | |
| continue-on-error: true | |
| - name: Git push | |
| uses: ad-m/github-push-action@master | |
| if: ${{ steps.commit.outcome == 'success' }} | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| branch: ${{ github.ref }} | |
| - name: Log | |
| if: ${{ steps.commit.outcome != 'success' }} | |
| run: echo Nothing to commit. |