|
11 | 11 | FORCE_COLOR: 1 |
12 | 12 | jobs: |
13 | 13 | verify-version: |
14 | | - if: startsWith(github.ref, 'refs/tags/') |
15 | 14 | runs-on: ubuntu-latest |
16 | 15 | steps: |
17 | 16 | - uses: actions/checkout@v6 |
18 | 17 | - name: Verify tag version matches package.json |
19 | 18 | run: | |
20 | | - # Extract tag name from GITHUB_REF (e.g., refs/tags/v6.0.2 -> v6.0.2) |
21 | | - TAG_NAME="${GITHUB_REF#refs/tags/}" |
22 | | - # Remove 'v' prefix if present to get the version number |
23 | | - TAG_VERSION="${TAG_NAME#v}" |
24 | | -
|
25 | | - # Get version from package.json |
26 | | - PACKAGE_VERSION=$(node -p "require('./package.json').version") |
27 | | -
|
28 | | - echo "Tag version: $TAG_VERSION" |
29 | | - echo "Package version: $PACKAGE_VERSION" |
30 | | -
|
31 | | - if [ "$TAG_VERSION" != "$PACKAGE_VERSION" ]; then |
32 | | - echo "ERROR: Tag version ($TAG_VERSION) does not match package.json version ($PACKAGE_VERSION)" |
33 | | - echo "Please update package.json or create a new tag with the correct version" |
34 | | - echo "GitHub release will NOT be created." |
35 | | - exit 1 |
| 19 | + # Check if we're running on a tag |
| 20 | + if [[ "$GITHUB_REF" == refs/tags/* ]]; then |
| 21 | + # Extract tag name from GITHUB_REF (e.g., refs/tags/v6.0.2 -> v6.0.2) |
| 22 | + TAG_NAME="${GITHUB_REF#refs/tags/}" |
| 23 | + # Remove 'v' prefix if present to get the version number |
| 24 | + TAG_VERSION="${TAG_NAME#v}" |
| 25 | +
|
| 26 | + # Get version from package.json |
| 27 | + PACKAGE_VERSION=$(node -p "require('./package.json').version") |
| 28 | +
|
| 29 | + echo "Tag version: $TAG_VERSION" |
| 30 | + echo "Package version: $PACKAGE_VERSION" |
| 31 | +
|
| 32 | + if [ "$TAG_VERSION" != "$PACKAGE_VERSION" ]; then |
| 33 | + echo "ERROR: Tag version ($TAG_VERSION) does not match package.json version ($PACKAGE_VERSION)" |
| 34 | + echo "Please update package.json or create a new tag with the correct version" |
| 35 | + echo "GitHub release will NOT be created." |
| 36 | + exit 1 |
| 37 | + fi |
| 38 | +
|
| 39 | + echo "Version match verified!" |
| 40 | + else |
| 41 | + echo "Skipping version verification - not a tag event" |
36 | 42 | fi |
37 | 43 |
|
38 | | - echo "Version match verified!" |
39 | | -
|
40 | 44 | build: |
41 | 45 | needs: [verify-version] |
42 | 46 | runs-on: ${{ matrix.os }} |
|
0 commit comments