fix: add missing fi statement to release type determination #3
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: Create Release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - v*.*.* | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| jobs: | |
| release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: yarn | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Determine release type | |
| id: release_type | |
| run: | | |
| if [[ "${GITHUB_REF_NAME}" == "main" ]]; then | |
| echo "type=latest" >> $GITHUB_OUTPUT | |
| SHORT_SHA=$(git rev-parse --short HEAD) | |
| echo "tag_name=$SHORT_SHA" >> $GITHUB_OUTPUT | |
| elif [[ "${GITHUB_REF_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | |
| echo "type=release" >> $GITHUB_OUTPUT | |
| echo "tag_name=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT | |
| else | |
| echo "type=skip" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Build all | |
| run: yarn build | |
| - name: Replace version placeholder in dist/*.js | |
| if: steps.release_type.outputs.type != 'skip' | |
| run: | | |
| VERSION="${{ steps.release_type.outputs.tag_name }}" | |
| for f in dist/*.js; do | |
| sed -i "s/{VERSION_PLACEHOLDER}/$VERSION/g" "$f" | |
| done | |
| - name: Generate release notes | |
| id: release_notes | |
| if: steps.release_type.outputs.type != 'skip' | |
| run: | | |
| TYPE="${{ steps.release_type.outputs.type }}" | |
| TAG="${{ steps.release_type.outputs.tag_name }}" | |
| if [[ "$TYPE" == "release" ]]; then | |
| NOTES=$(git log -1 --pretty=format:"%s%n%n%b") | |
| else | |
| NOTES=$(git log -10 --pretty=format:"- %s (%h)") | |
| fi | |
| echo "body<<EOF" >> $GITHUB_OUTPUT | |
| echo "$NOTES" >> $GITHUB_OUTPUT | |
| echo "EOF" >> $GITHUB_OUTPUT | |
| - name: Create GitHub Release | |
| if: steps.release_type.outputs.type != 'skip' | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ steps.release_type.outputs.tag_name }} | |
| name: ${{ steps.release_type.outputs.type == 'release' && 'Release' || 'Latest Version' }} ${{ steps.release_type.outputs.tag_name }} | |
| body: ${{ steps.release_notes.outputs.body }} | |
| files: dist/* | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |