Skip to content

Commit 924eedf

Browse files
committed
Skip duplicate igdb publishes
1 parent 6765549 commit 924eedf

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ jobs:
4848
run: |
4949
NAME="$(node -p "require('./package.json').name")"
5050
VERSION="$(node -p "require('./package.json').version")"
51+
echo "name=${NAME}" >> "$GITHUB_OUTPUT"
52+
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
5153
echo "tag=${NAME}@${VERSION}" >> "$GITHUB_OUTPUT"
5254
5355
- name: Generate and verify release notes
@@ -68,6 +70,8 @@ jobs:
6870
id: release_state
6971
env:
7072
GH_TOKEN: ${{ github.token }}
73+
PACKAGE_NAME: ${{ steps.release.outputs.name }}
74+
PACKAGE_VERSION: ${{ steps.release.outputs.version }}
7175
TAG: ${{ steps.release.outputs.tag }}
7276
run: |
7377
if gh release view "$TAG" >/dev/null 2>&1; then
@@ -76,8 +80,24 @@ jobs:
7680
echo "exists=false" >> "$GITHUB_OUTPUT"
7781
fi
7882
83+
if npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" version >/dev/null 2>&1; then
84+
echo "package_published=true" >> "$GITHUB_OUTPUT"
85+
else
86+
echo "package_published=false" >> "$GITHUB_OUTPUT"
87+
fi
88+
89+
HAS_CHANGESETS=false
90+
for changeset in .changeset/*.md; do
91+
if [ -e "$changeset" ]; then
92+
HAS_CHANGESETS=true
93+
break
94+
fi
95+
done
96+
echo "has_changesets=${HAS_CHANGESETS}" >> "$GITHUB_OUTPUT"
97+
7998
- name: Create version PR or publish
8099
id: changesets
100+
if: steps.release_state.outputs.package_published != 'true' || steps.release_state.outputs.has_changesets == 'true'
81101
uses: changesets/action@v1
82102
with:
83103
version: bun run changeset version
@@ -87,7 +107,7 @@ jobs:
87107
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
88108

89109
- name: Create GitHub release
90-
if: steps.release_state.outputs.exists != 'true'
110+
if: always() && steps.release_state.outputs.exists != 'true' && (steps.changesets.outcome == 'success' || steps.changesets.outcome == 'skipped')
91111
env:
92112
GH_TOKEN: ${{ github.token }}
93113
TAG: ${{ steps.release.outputs.tag }}

0 commit comments

Comments
 (0)