Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14296ffaac | ||
|
|
7eb11e3261 | ||
|
|
0ac2bf4a8c | ||
|
|
d0e3f3918b | ||
|
|
2704ec45b5 |
@@ -16,12 +16,12 @@ quality badges.
|
|||||||
|
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
|
||||||
[](https://www.python.org/downloads/)
|
[](https://www.python.org/downloads/)
|
||||||
|
|
||||||
## Why devx?
|
## Why devx?
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -12,12 +12,12 @@ project to be reusable across all oblachno-oss repositories.
|
|||||||
|
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/src/branch/master/LICENSE)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/wiki)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/actions)
|
||||||
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
|
[](https://git.oblachno.oblachno.fyi/oblachno-oss/devx/releases)
|
||||||
[](https://www.python.org/downloads/)
|
[](https://www.python.org/downloads/)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# DEVX-156: Fix commit message format and release new CI modules
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
The DEVX-155 merge commit on master has an invalid format
|
||||||
|
('DEVX-155: Replace...' missing conventional commit type). This blocks
|
||||||
|
the post-merge release workflow's `validate_commit_msg` step, preventing
|
||||||
|
`validate_spec`, `check_pr_size`, `nightly_gate`, and `create_dependency_pr`
|
||||||
|
from being published to the Gitea PyPI registry. All downstream repos
|
||||||
|
(grm, infra, sso-bridge) are blocked — their CI fails with
|
||||||
|
`No module named devx.ci.validate_spec`.
|
||||||
|
|
||||||
|
## Approach
|
||||||
|
Add a trivial user-facing change (version doc comment) with a proper
|
||||||
|
conventional commit format to trigger the post-merge release workflow.
|
||||||
|
The release will publish the new CI modules that DEVX-155 introduced.
|
||||||
|
|
||||||
|
REQ-1: Add a user-facing change to src/devx/ to trigger release
|
||||||
|
REQ-2: Ensure the commit message follows conventional format (type: description)
|
||||||
|
|
||||||
|
## Test Plan
|
||||||
|
- Verify post-merge workflow runs successfully after merge
|
||||||
|
- Verify a new release tag is created (v0.51.0 or similar)
|
||||||
|
- Verify devx.ci.validate_spec is importable from the published package
|
||||||
|
|
||||||
|
## Deploy Plan
|
||||||
|
- Merge to master via auto-merge workflow
|
||||||
|
- Post-merge workflow auto-releases and publishes
|
||||||
|
|
||||||
|
## Rollback Plan
|
||||||
|
- Revert the merge commit if release fails
|
||||||
|
|
||||||
|
## Acceptance Criteria
|
||||||
|
- [x] REQ-1: A user-facing change is added to src/devx/
|
||||||
|
- [x] REQ-2: Commit message follows conventional format
|
||||||
@@ -1,3 +1,9 @@
|
|||||||
"""devx — reusable development and CI/CD tools for oblachno-oss projects."""
|
"""devx — reusable development and CI/CD tools for oblachno-oss projects.
|
||||||
|
|
||||||
|
Provides CI/CD automation (validate_spec, check_pr_size, nightly_gate,
|
||||||
|
create_dependency_pr, auto_merge, release, publish), developer tooling
|
||||||
|
(setup, install_tools, configure_repo, create_task, create_pr), and
|
||||||
|
molecule testing helpers for Ansible projects.
|
||||||
|
"""
|
||||||
|
|
||||||
__version__ = "0.50.1"
|
__version__ = "0.50.1"
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ PRs with the ``refactoring`` label bypass the size check — large but
|
|||||||
legitimate refactoring PRs that touch many files in a coordinated way.
|
legitimate refactoring PRs that touch many files in a coordinated way.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
python -m devx.ci.check_pr_size --base origin/master --head HEAD
|
python -m devx.ci.check_pr_size --base origin/master --head HEAD \\
|
||||||
|
--repo oblachno-oss/grm --pr-number 123
|
||||||
|
|
||||||
In CI, pass ``--github-output`` to set ``pr-size-ok`` and ``pr-size-detail``
|
In CI, pass ``--github-output`` to set ``pr-size-ok`` and ``pr-size-detail``
|
||||||
for downstream steps.
|
for downstream steps.
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
"""Validate that a PR has a spec file with required sections and acceptance criteria.
|
"""Validate that a PR has a spec file with required sections and acceptance criteria.
|
||||||
|
|
||||||
Spec-driven development gate. Runs in CI before expensive jobs.
|
Spec-driven development gate. Runs in CI before expensive jobs.
|
||||||
|
Used by grm, infra, sso-bridge, and devx itself.
|
||||||
|
|
||||||
Validates:
|
Validates:
|
||||||
1. A spec file exists at ``docs/specs/<TASK-ID>.md`` (TASK-ID extracted from branch).
|
1. A spec file exists at ``docs/specs/<TASK-ID>.md`` (TASK-ID extracted from branch).
|
||||||
|
|||||||
Reference in New Issue
Block a user