diff --git a/.github/workflows/release-automated.yml b/.github/workflows/release-automated.yml index 8c0d6709..b2e70cc6 100644 --- a/.github/workflows/release-automated.yml +++ b/.github/workflows/release-automated.yml @@ -38,12 +38,20 @@ jobs: - name: Install dependencies run: npm ci - name: Run semantic-release for dart package - run: npx semantic-release + run: | + npx semantic-release || EXIT_CODE=$? + if [ ${EXIT_CODE:-0} -ne 0 ] && [ ${EXIT_CODE:-0} -ne 69 ]; then + exit $EXIT_CODE + fi env: GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} PKG_NAME: dart - name: Run semantic-release for flutter package - run: npx semantic-release + run: | + npx semantic-release || EXIT_CODE=$? + if [ ${EXIT_CODE:-0} -ne 0 ] && [ ${EXIT_CODE:-0} -ne 69 ]; then + exit $EXIT_CODE + fi env: GITHUB_TOKEN: ${{ secrets.RELEASE_GITHUB_TOKEN }} PKG_NAME: flutter diff --git a/release.config.js b/release.config.js index b1d7a57c..973f7f54 100644 --- a/release.config.js +++ b/release.config.js @@ -85,7 +85,7 @@ async function config() { }], ['@semantic-release/exec', { verifyConditionsCmd: packageName !== 'root' - ? `bash -c 'LAST_TAG=$(git describe --tags --abbrev=0 --match="${packageName}-*" 2>/dev/null || echo ""); if [ -n "$LAST_TAG" ]; then git diff --name-only $LAST_TAG HEAD | grep -q "^packages/${packageName}/"; else git log --all --name-only --pretty=format: | grep -q "^packages/${packageName}/"; fi || (echo "No changes in packages/${packageName}, skipping release" && exit 1)'` + ? `bash -c 'LAST_TAG=$(git describe --tags --abbrev=0 --match="${packageName}-*" 2>/dev/null || echo ""); if [ -n "$LAST_TAG" ]; then git diff --name-only $LAST_TAG HEAD | grep -q "^packages/${packageName}/"; else git log --all --name-only --pretty=format: | grep -q "^packages/${packageName}/"; fi || (echo "No changes in packages/${packageName}, skipping release" && exit 69)'` : 'echo "Root package always runs"', }], ['@semantic-release/release-notes-generator', {