chore(deps-dev): bump @semantic-release/exec from 6.0.3 to 7.1.0#2
Merged
strausmann merged 1 commit intoMay 10, 2026
Merged
Conversation
9 tasks
strausmann
added a commit
that referenced
this pull request
May 10, 2026
When Dependabot opens a PR against main and main does not yet contain a backend/pyproject.toml (e.g. before the first feature branch lands), the existing actions/setup-python step would fail because cache: pip insists on resolving requirements.txt or pyproject.toml at checkout time. Fix by detecting the project layout up-front and: - using setup-python WITH cache when a pyproject.toml exists (in either ./backend or ./), with explicit cache-dependency-path - using setup-python WITHOUT cache otherwise, and skipping all the ruff/mypy/pytest steps with a single no-op message Also moves all working directories explicitly so we can later add a backend/ matrix entry without rewriting steps. This unblocks PRs #2-#9 (currently red on the cache step) and prevents the same class of failure for any future contributor branch that touches infrastructure but doesn't include the backend yet. Refs #2, #3, #4, #6, #7, #8, #9
Owner
|
@dependabot rebase |
Bumps [@semantic-release/exec](https://github.com/semantic-release/exec) from 6.0.3 to 7.1.0. - [Release notes](https://github.com/semantic-release/exec/releases) - [Commits](semantic-release/exec@v6.0.3...v7.1.0) --- updated-dependencies: - dependency-name: "@semantic-release/exec" dependency-version: 7.1.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot
Bot
force-pushed
the
dependabot/npm_and_yarn/semantic-release/exec-7.1.0
branch
from
May 10, 2026 18:16
852b1ad to
49a3934
Compare
strausmann
deleted the
dependabot/npm_and_yarn/semantic-release/exec-7.1.0
branch
May 10, 2026 18:17
github-actions Bot
pushed a commit
that referenced
this pull request
May 10, 2026
## 1.0.0 (2026-05-10) * ci: make Python lint/test job branch-tolerant for dependabot PRs (#30) ([6ee8e16](6ee8e16)), closes [#30](#30) [2-#9](https://github.com/2-/issues/9) [#2](#2) [#3](#3) [#4](#4) [#6](#6) [#7](#7) [#8](#8) [#9](#9) * ci(deps): bump the actions-all group across 1 directory with 14 updates (#9) ([a88a027](a88a027)), closes [#9](#9) * chore: initial repository skeleton ([0319e7e](0319e7e)) * chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.0 (#3) ([2642b26](2642b26)), closes [#3](#3) * chore(deps-dev): bump @commitlint/config-conventional (#4) ([44be5f9](44be5f9)), closes [#4](#4) * chore(deps-dev): bump @semantic-release/exec from 6.0.3 to 7.1.0 (#2) ([a8097b0](a8097b0)), closes [#2](#2) * chore(deps-dev): bump @semantic-release/github from 11.0.6 to 12.0.8 (#8) ([098e766](098e766)), closes [#8](#8) * chore(deps-dev): bump conventional-changelog-conventionalcommits (#7) ([9f5370f](9f5370f)), closes [#7](#7) * chore(deps-dev): bump semantic-release from 24.2.9 to 25.0.3 (#6) ([306010f](306010f)), closes [#6](#6) * feat(status): add Brother 32-byte status block parser (#29) ([ced0ff8](ced0ff8)), closes [#29](#29) [#11](#11) [#19](#19) [#29](#29) * docs: refactor — ADRs in docs/decisions/, policies in docs/policies/, slim CLAUDE.md ([51c2cf1](51c2cf1)), closes [#1](#1) * docs(decisions): ADR 0006 — PT vs QL ESC i S behaviour from Phase-0 hardware test ([0d12c63](0d12c63)), closes [#12](#12) [#11](#11) * docs(decisions): ADR 0012 — layout management; clarify integration push/pull capabilities ([effcbdf](effcbdf)), closes [#17](#17) [#19](#19) * docs(decisions): ADR 0013 + cart UI spec + AI-review workflow ([c72dc85](c72dc85)), closes [#26](#26) [#27](#27) [#28](#28) * docs(docker): document image tag scheme (latest, 1.0.0, 1.0, 1) ([1f72396](1f72396)) * docs(examples): sample compose files for standalone/Traefik/Pangolin/Caddy ([a2f6f3d](a2f6f3d)) [skip ci]
github-actions Bot
pushed a commit
that referenced
this pull request
May 10, 2026
## 0.1.0 (2026-05-10) * docs: refactor — ADRs in docs/decisions/, policies in docs/policies/, slim CLAUDE.md ([51c2cf1](51c2cf1)), closes [#1](#1) * docs(ci): document mypy as hard gate; clarify CI gate policy in CONTRIBUTING (#31) ([e1e6f18](e1e6f18)), closes [#31](#31) [#30](#30) [#30](#30) [#30](#30) * docs(decisions): ADR 0006 — PT vs QL ESC i S behaviour from Phase-0 hardware test ([0d12c63](0d12c63)), closes [#12](#12) [#11](#11) * docs(decisions): ADR 0012 — layout management; clarify integration push/pull capabilities ([effcbdf](effcbdf)), closes [#17](#17) [#19](#19) * docs(decisions): ADR 0013 + cart UI spec + AI-review workflow ([c72dc85](c72dc85)), closes [#26](#26) [#27](#27) [#28](#28) * docs(docker): document image tag scheme (latest, 1.0.0, 1.0, 1) ([1f72396](1f72396)) * docs(examples): sample compose files for standalone/Traefik/Pangolin/Caddy ([a2f6f3d](a2f6f3d)) * docs(learnings): add code-review-patterns + reference from CLAUDE/CONTRIBUTING/AI configs (#33) ([0fc61d2](0fc61d2)), closes [#33](#33) [#29](#29) [#30](#30) [#32](#32) [#6](#6) * ci: make Python lint/test job branch-tolerant for dependabot PRs (#30) ([6ee8e16](6ee8e16)), closes [#30](#30) [2-#9](https://github.com/2-/issues/9) [#2](#2) [#3](#3) [#4](#4) [#6](#6) [#7](#7) [#8](#8) [#9](#9) * ci(deps): bump the actions-all group across 1 directory with 14 updates (#9) ([a88a027](a88a027)), closes [#9](#9) * ci(release): trigger releases via cron + workflow_dispatch only (#32) ([9941958](9941958)), closes [#32](#32) [#32](#32) [#32](#32) * chore(deps-dev): bump @commitlint/cli from 19.8.1 to 21.0.0 (#3) ([2642b26](2642b26)), closes [#3](#3) * chore(deps-dev): bump @commitlint/config-conventional (#4) ([44be5f9](44be5f9)), closes [#4](#4) * chore(deps-dev): bump @semantic-release/exec from 6.0.3 to 7.1.0 (#2) ([a8097b0](a8097b0)), closes [#2](#2) * chore(deps-dev): bump @semantic-release/github from 11.0.6 to 12.0.8 (#8) ([098e766](098e766)), closes [#8](#8) * chore(deps-dev): bump conventional-changelog-conventionalcommits (#7) ([9f5370f](9f5370f)), closes [#7](#7) * chore(deps-dev): bump semantic-release from 24.2.9 to 25.0.3 (#6) ([306010f](306010f)), closes [#6](#6) * chore(release): 1.0.0 ([15abeb3](15abeb3)) * feat(status): add Brother 32-byte status block parser (#29) ([ced0ff8](ced0ff8)), closes [#29](#29) [#11](#11) [#19](#19) [#29](#29) [skip ci]
This was referenced May 17, 2026
strausmann
added a commit
that referenced
this pull request
May 17, 2026
Bot reviews on PR #77 flagged that session.delete(existing_by_name) would crash with FOREIGN KEY violations on any real upgrade scenario (jobs/printer_state/printer_status_cache referencing the old printer_id). The previous fix only worked because the production smoke test ran on a wiped DB with no dependent rows — Finding #1 (HIGH). Replace the delete-then-insert path with non-destructive id migration: cascade-rewrite FK columns in printer_status_cache, printer_state, and jobs, then UPDATE the printer row's PK in-place. Historical print jobs survive the upgrade. SQLite stores UUIDs as 32-char hex strings without dashes; raw SQL bind params use str(uuid).replace('-', '') to match the on-disk format. After raw SQL UPDATEs the ORM identity map is expired so the migrated row is visible on the next session.get() call. Also incorporates two MEDIUM findings: - Finding #2: use app.repositories.printers.get_by_name helper instead of re-implementing the select. - Finding #3: drop the _select alias, use select directly like the rest of lifespan.py. New regression test seeds an old printer row WITH dependent jobs, printer_state, and printer_status_cache rows, then confirms the upsert migrates all FK references to the new deterministic UUIDv5 without losing data. Refs #76 Refs #22
strausmann
added a commit
that referenced
this pull request
May 17, 2026
) * fix(api): upsert_runtime_printer handles name collision on upgrade path Phase 7b's upsert_runtime_printer keyed only on Printer.id (the new deterministic UUIDv5 from C1). An existing Phase 7a row with a different id but the same name violated the UNIQUE(name) constraint on the INSERT, crashing the backend during the first hhdocker02 deploy. Fix: when the id-lookup misses, fall back to a name-lookup. If a row with the same name exists under a different id, delete it before the new INSERT. New regression test mimics the production state. Refs #76 Refs #22 * feat(ui): proxy /readiness to backend Phase 7b H1 added /docs, /openapi.json, /redoc proxying but missed /readiness. Production smoke against labels.strausmann.cloud showed the readiness deep-check returning 404 from the frontend edge. One extra r.Handle keeps the path intact and reaches the backend's existing handler. Refs #76 Refs #22 * fix(api): upsert_runtime_printer migrates printer id in-place Bot reviews on PR #77 flagged that session.delete(existing_by_name) would crash with FOREIGN KEY violations on any real upgrade scenario (jobs/printer_state/printer_status_cache referencing the old printer_id). The previous fix only worked because the production smoke test ran on a wiped DB with no dependent rows — Finding #1 (HIGH). Replace the delete-then-insert path with non-destructive id migration: cascade-rewrite FK columns in printer_status_cache, printer_state, and jobs, then UPDATE the printer row's PK in-place. Historical print jobs survive the upgrade. SQLite stores UUIDs as 32-char hex strings without dashes; raw SQL bind params use str(uuid).replace('-', '') to match the on-disk format. After raw SQL UPDATEs the ORM identity map is expired so the migrated row is visible on the next session.get() call. Also incorporates two MEDIUM findings: - Finding #2: use app.repositories.printers.get_by_name helper instead of re-implementing the select. - Finding #3: drop the _select alias, use select directly like the rest of lifespan.py. New regression test seeds an old printer row WITH dependent jobs, printer_state, and printer_status_cache rows, then confirms the upsert migrates all FK references to the new deterministic UUIDv5 without losing data. Refs #76 Refs #22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps @semantic-release/exec from 6.0.3 to 7.1.0.
Release notes
Sourced from @semantic-release/exec's releases.
... (truncated)
Commits
a285bc5feat(error): print more useful error for non-process failure (#449)aa1a2bcchore(deps): lock file maintenance (#451)b0dc7abchore(deps): update dependency ava to v6.3.0 (#450)93bf408chore(deps): lock file maintenance (#448)0e70c6fchore(deps): lock file maintenance (#446)e643dc3ci(action): update actions/setup-node action to v4.4.0 (#445)a08859echore(deps): lock file maintenance (#444)da1754echore(deps): lock file maintenance (#443)72668ccchore(deps): lock file maintenance (#442)3c6a8a9chore(deps): update dependency sinon to v20 (#441)