Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
3783824
deps: bump vitest from 5.0.0 to 5.0.1 in the vitest group
dependabot[bot] Sep 23, 2026
f0e872d
deps: bump eslint from 10.10.0 to 10.11.0 in the eslint group
dependabot[bot] Sep 23, 2026
ebed26f
deps: bump prettier from 3.9.6 to 3.9.8 in the prettier group
dependabot[bot] Sep 23, 2026
bcdb2be
deps: bump @cldmv/slothlet from 3.15.3 to 3.17.0 in the minor group
dependabot[bot] Sep 23, 2026
ff21081
deps: bump prettier from 3.9.6 to 3.9.8 in the prettier group (#74)
cldmv-bot[bot] Sep 23, 2026
72a3a66
deps: bump vitest from 5.0.0 to 5.0.1 in the vitest group (#72)
cldmv-bot[bot] Sep 23, 2026
5d42872
deps: bump eslint from 10.10.0 to 10.11.0 in the eslint group (#73)
cldmv-bot[bot] Sep 23, 2026
b6dedb5
deps: bump @cldmv/slothlet from 3.15.3 to 3.17.0 in the minor group (…
cldmv-bot[bot] Sep 23, 2026
08583a9
chore: bump version to 1.1.10
cldmv-bot[bot] Sep 23, 2026
ad1379c
chore: restore the verbatim Apache-2.0 license text
Shinrai Sep 27, 2026
54ba059
ci: sync v4 workflows with CLDMV/.github v4.29.0 templates
Shinrai Sep 27, 2026
6ac136f
ci: correct workflow header metadata and finish the v4 sync
Shinrai Sep 27, 2026
1f88fa4
ci: bring the v4 workflow sync up to CLDMV/.github v4.29.2
Shinrai Sep 28, 2026
78c0072
ci: add the bundle-size workflow and keep the template release-merge …
Shinrai Sep 28, 2026
ea22cda
ci: sync v4 workflows with CLDMV/.github v4.29.0 templates (#80)
Shinrai Sep 28, 2026
b7fa750
chore: restore the verbatim Apache-2.0 license text (#79)
Shinrai Sep 28, 2026
b3d203b
deps: bump the patch group across 1 directory with 7 updates
dependabot[bot] Sep 30, 2026
2339b59
chore: adopt the shared CLDMV fix-headers config and stamp uniform fi…
Shinrai Oct 2, 2026
7966b20
ci: stop the skipped PR-run mirror from satisfying Required PR Check
Shinrai Oct 2, 2026
2e880f2
ci: stop the skipped PR-run mirror from satisfying Required PR Check …
Shinrai Oct 2, 2026
43f00fa
chore: adopt the shared CLDMV fix-headers config and stamp uniform fi…
Shinrai Oct 2, 2026
0427518
deps: bump the patch group across 1 directory with 7 updates (#82)
Shinrai Oct 2, 2026
b1fcf1f
deps: bump the patch group with 2 updates
dependabot[bot] Oct 2, 2026
9f22e03
deps: bump the minor group with 3 updates
dependabot[bot] Oct 2, 2026
6fc15b6
Merge branch 'next' into dependabot/npm_and_yarn/next/patch-93d08efe55
Shinrai Oct 2, 2026
10df0af
deps: bump the patch group with 2 updates (#85)
Shinrai Oct 2, 2026
87fda58
Merge branch 'next' into dependabot/npm_and_yarn/next/minor-4cb0933ff7
Shinrai Oct 2, 2026
5fd9b86
chore: bump version to 1.1.11
cldmv-bot[bot] Oct 2, 2026
46dd345
Merge branch 'next' into dependabot/npm_and_yarn/next/minor-4cb0933ff7
Shinrai Oct 2, 2026
83436a5
deps: bump the minor group with 3 updates (#86)
Shinrai Oct 2, 2026
4e917a6
ci: run the in-repo PR mirror job instead of skipping it
Shinrai Oct 2, 2026
cb9a591
ci: run the in-repo PR mirror job instead of skipping it (#88)
Shinrai Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 36 additions & 27 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,37 +308,37 @@ jobs:
# automatically β€” no `pull_request` round-trip needed for non-fork
# non-release PRs.
required-check:
# The name is conditional on purpose. On an in-repo feature PR the
# `pull_request` run skips this job (the push run owns the status), and
# a skipped job still posts a check run under its name. GitHub treats a
# SKIPPED required check as satisfied β€” so if the skipped job were named
# `βœ… Required PR Check`, it would green-light the ruleset (and enable
# auto-merge) while the push run's real mirror hadn't been created yet
# (it only appears once `ci` finishes), letting a PR merge mid-test or
# even override a red result. An expression name keeps the skipped job
# off the required name: GitHub does not evaluate the name of a skipped
# job, so it shows up as the raw expression text (still not the
# required name), while every path that runs evaluates to
# `βœ… Required PR Check`. The condition is written out anyway so the
# name stays correct if GitHub ever starts evaluating it, and must stay
# identical to the `if:` below.
name: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == true || github.event.pull_request.head.ref == 'next' || github.event.pull_request.head.ref == 'hotfixes') && 'βœ… Required PR Check' || '⏭️ Required PR Check (reported by the push run)' }}
needs: ci
# Mirror the `ci` job's gating exactly. The four cases that run:
# Which name this job reports under is the whole point of it.
#
# The ruleset gates merges on `βœ… Required PR Check`, so a check with that
# name must only ever exist on a head SHA after the full test matrix for
# that SHA has finished, mirroring its result. `needs: ci` guarantees the
# timing: the job is only created once every Build & Test leg and the
# coverage job are done.
#
# On an in-repo feature PR the `pull_request` run does not own the status
# (the push run on the head branch does), so it must not post
# `βœ… Required PR Check` at all. Two traps rule out the obvious shapes:
# - A job SKIPPED by `if:` still posts a check run under its name, and
# GitHub treats a skipped required check as satisfied. Under the real
# name that let PRs merge mid-test (CLDMV/slothlet#553).
# - GitHub does not evaluate the `name:` of a skipped job, so a
# conditional name on a skippable job shows up as the raw expression
# text (#350).
# So the job never skips: it runs on every path, the name expression is
# always evaluated, and the in-repo PR path lands on a readable,
# non-required name and passes as a no-op. The condition below is
# repeated in the step's OWNS_STATUS and must stay identical. The paths
# that own the status:
# 1. push events (job needs CI run)
# 2. fork PRs (push doesn't cover forks)
# 3. release PRs from `next` β†’ master/main (push covers SHA but commit-gate skips chore-bump)
# 4. release PRs from `hotfixes` β†’ master/main (same reason)
# In-repo feature PRs targeting `next` / `hotfixes` skip on
# pull_request β€” the push run on the head branch reports the status
# on the SHA. See the `name:` above for why the skipped job is renamed.
if: |
always() && (
github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.fork == true ||
github.event.pull_request.head.ref == 'next' ||
github.event.pull_request.head.ref == 'hotfixes'
)
name: ${{ (github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == true || github.event.pull_request.head.ref == 'next' || github.event.pull_request.head.ref == 'hotfixes') && 'βœ… Required PR Check' || '⏭️ Required PR Check (reported by the push run)' }}
needs: ci
# always(): run even when `ci` is skipped (the in-repo PR path) or failed
# (so the mirror can report red).
if: always()
# Match the reusable's runner routing (workflow-ci.yml): private CLDMV
# repos run on self-hosted cldmv-runners (GitHub-hosted Actions budget is
# private-metered and exhausted), public repos use free GitHub-hosted, and
Expand All @@ -352,10 +352,19 @@ jobs:
steps:
- name: Mirror reusable result
env:
OWNS_STATUS: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == true || github.event.pull_request.head.ref == 'next' || github.event.pull_request.head.ref == 'hotfixes' }}
IS_MASTER_SYNC: ${{ needs.ci.outputs.is_master_sync }}
DOCS_ONLY: ${{ needs.ci.outputs.docs_only }}
CI_RESULT: ${{ needs.ci.result }}
run: |
# In-repo feature PR: the push run on the head branch reports
# `βœ… Required PR Check`. This job runs under the
# `⏭️ Required PR Check (reported by the push run)` name and
# must not gate anything.
if [ "$OWNS_STATUS" != "true" ]; then
echo "In-repo PR event β€” the push run reports βœ… Required PR Check for this SHA."
exit 0
fi
echo "ci.result=$CI_RESULT docs_only=$DOCS_ONLY is_master_sync=$IS_MASTER_SYNC"
# next/hotfixes was force-synced to master β€” head SHA matches the
# default branch, nothing new to test, green-light without running CI.
Expand Down
45 changes: 25 additions & 20 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cldmv/git-embedded",
"version": "1.1.10",
"version": "1.1.11",
"description": "Manage embedded git repositories (anonymous gitlinks) without .gitmodules. Provides hooks that restore standard git-command ergonomics for embedded children while keeping the child's origin URL out of the public parent repo.",
"type": "module",
"license": "Apache-2.0",
Expand Down
Loading