specmatic 2.29.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ jobs:
13
13
  with:
14
14
  node-version: 20
15
15
  - run: npm install
16
+ - run: npm test
16
17
  - run: npm run build
17
18
  - run: npm run prepack
18
19
  - uses: reedyuk/npm-version@1.2.2
@@ -9,6 +9,13 @@ on:
9
9
  type: string
10
10
  default: ''
11
11
 
12
+ permissions:
13
+ contents: write
14
+
15
+ concurrency:
16
+ group: release-${{ github.event.inputs.specmatic-core-version }}
17
+ cancel-in-progress: false
18
+
12
19
  jobs:
13
20
  update-specmatic-version-and-publish:
14
21
  runs-on: ubuntu-latest
@@ -16,6 +23,10 @@ jobs:
16
23
  steps:
17
24
  - name: Checkout code
18
25
  uses: actions/checkout@v4
26
+ with:
27
+ ref: ${{ github.ref_name }}
28
+ fetch-depth: 0
29
+
19
30
  - name: Configure git cli
20
31
  run: |
21
32
  git config --global user.email "github-service-account@specmatic.io"
@@ -26,16 +37,35 @@ jobs:
26
37
  SPEC_VERSION="${{ github.event.inputs.specmatic-core-version }}"
27
38
  jq ".specmaticVersion = \"$SPEC_VERSION\"" package.json > package.tmp.json && mv package.tmp.json package.json
28
39
 
40
+ if git diff --exit-code package.json; then
41
+ echo "::error::No changes made to package.json - version may already be set to $SPEC_VERSION"
42
+ exit 1
43
+ else
44
+ echo "Version updated successfully to $SPEC_VERSION"
45
+ fi
46
+
29
47
  - name: Commit and push changes
30
48
  run: |
31
49
  git add package.json
32
- git commit -m "chore: bump specmaticVersion to ${{ github.event.inputs.specmatic-core-version }}"
50
+ git commit -m "chore: bump version and specmaticVersion to ${{ github.event.inputs.specmatic-core-version }}"
33
51
  git push
34
52
 
35
- - name: Trigger publish workflow
36
- uses: peter-evans/workflow-dispatch@v1
53
+ - name: Check if tag exists and create
54
+ run: |
55
+ TAG="${{ github.event.inputs.specmatic-core-version }}"
56
+
57
+ if git show-ref --tags --verify --quiet "refs/tags/${TAG}"; then
58
+ echo "::error::Tag ${TAG} already exists"
59
+ exit 1
60
+ fi
61
+
62
+ git tag "${TAG}"
63
+ git push origin "${TAG}"
64
+
65
+ - name: Create GitHub Release
66
+ uses: softprops/action-gh-release@v2
37
67
  with:
38
- token: ${{ secrets.GITHUB_TOKEN }}
39
- repository: ${{ github.repository }}
40
- workflow: publish.yml
41
- ref: ${{ github.ref }}
68
+ tag_name: "${{ github.event.inputs.specmatic-core-version }}"
69
+ name: "v${{ github.event.inputs.specmatic-core-version }}"
70
+ token: ${{ secrets.SPECMATIC_GITHUB_TOKEN }}
71
+ generate_release_notes: true
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "specmatic",
3
- "version": "2.29.0",
4
- "specmaticVersion": "2.29.0",
3
+ "version": "2.31.0",
4
+ "specmaticVersion": "2.31.0",
5
5
  "description": "Node wrapper for Specmatic",
6
6
  "main": "dist/index.js",
7
7
  "scripts": {
package/specmatic.jar CHANGED
Binary file