Skip to content

Commit 939e0f0

Browse files
committed
Fix release WebAssembly skigen setup
Clone the pinned Skigen release in the tag-triggered WebAssembly release job before running the WASM build, matching the other release packaging jobs. Make the tag-triggered CreateRelease job idempotent so rerunning a just-created release tag can update the release target and fast-forward the minor-version branch instead of failing when the release or branch already exists.
1 parent 232bc80 commit 939e0f0

1 file changed

Lines changed: 23 additions & 8 deletions

File tree

.github/workflows/main.yml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -220,24 +220,36 @@ jobs:
220220

221221
- name: Create version branch for new minor releases
222222
run: |
223-
currentVersionPatch=$(echo ${GITHUB_REF#refs/tags/} | cut -d. -f3)
223+
TAG="${GITHUB_REF#refs/tags/}"
224+
currentVersionPatch=$(echo "$TAG" | cut -d. -f3)
224225
if [[ "$currentVersionPatch" == 0 ]]; then
225-
echo "New minor version — branching off ${GITHUB_REF#refs/tags/}"
226+
echo "New minor version — ensuring branch $TAG points at ${GITHUB_SHA}"
226227
git config --global user.email christoph.dinh@mne-cpp.org
227228
git config --global user.name chdinh
228-
git checkout -b ${GITHUB_REF#refs/tags/}
229-
git push origin refs/heads/${GITHUB_REF#refs/tags/}
229+
if git ls-remote --exit-code --heads origin "$TAG" >/dev/null 2>&1; then
230+
echo "Branch $TAG already exists — fast-forwarding it to ${GITHUB_SHA}"
231+
git push origin "${GITHUB_SHA}:refs/heads/$TAG"
232+
else
233+
git checkout -b "$TAG"
234+
git push origin "refs/heads/$TAG"
235+
fi
230236
fi
231237
232238
- name: Create GitHub Release
233239
env:
234240
GH_TOKEN: ${{ secrets.GH_PAT || secrets.GITHUB_TOKEN }}
235241
run: |
236242
TAG="${GITHUB_REF#refs/tags/}"
237-
gh release create "$TAG" \
238-
--title "MNE-CPP $TAG" \
239-
--generate-notes \
240-
--target ${{ github.sha }}
243+
if gh release view "$TAG" >/dev/null 2>&1; then
244+
gh release edit "$TAG" \
245+
--title "MNE-CPP $TAG" \
246+
--target ${{ github.sha }}
247+
else
248+
gh release create "$TAG" \
249+
--title "MNE-CPP $TAG" \
250+
--generate-notes \
251+
--target ${{ github.sha }}
252+
fi
241253
242254
# ── Release Doxygen qch (depends on CreateRelease) ────────────────────────
243255
ReleaseDocs:
@@ -350,6 +362,9 @@ jobs:
350362
--version "$EIGEN_VERSION" \
351363
--output-dir "$GITHUB_WORKSPACE/src/external/eigen"
352364
365+
- name: Clone Skigen
366+
run: ./scripts/ci/clone_skigen.sh --release
367+
353368
- name: Build WASM
354369
run: |
355370
source ../emsdk/emsdk_env.sh

0 commit comments

Comments
 (0)