Skip to content

ci: the version check runs in its own version.yml (#44) - #45

Merged
compot-dev merged 1 commit into
masterfrom
version-workflow
Oct 18, 2026
Merged

compot-dev merged 1 commit into
masterfrom
version-workflow

Conversation

@compot-dev

@compot-dev compot-dev commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #44.

ci.yml listened to labeled / unlabeled because its version job reads the no-release label, so adding or removing any label on a pull request re-ran the whole CI (shellcheck, the suite on both mbedTLS generations, the four release builds).

  • New .github/workflows/version.yml: the version check alone, on pull_request including labeled / unlabeled, check-version.sh HEAD^1 with NO_RELEASE from the no-release label, its own concurrency group per pull request.
  • ci.yml: the version job and the label event types are gone; nothing needed that job; lint, test, build and release are unchanged.
  • check-version.sh: ci.yml still counts as build; version.yml is CI. Comments updated.
  • README (en, ru, zh-CN): the check is described as version.yml.

CI only: no version bump, no-release label.

Test report (local):

  • shellcheck v0.10.0 -S style on check-version.sh: clean.
  • Both workflows parse as YAML; ci.yml jobs: build, lint, release, test; version.yml: version.
  • check-version.sh on throwaway commits, exit code without / with NO_RELEASE=true: version.yml only 0/0, ci.yml only 1/0, src/ only 1/0, README only 0/0.

@keyldev, for visibility: a CI-only follow-up to #43.

@compot-dev compot-dev added uni Release naming and management, common across the repositories no-release Changes the build or the code without changing the binaries: no new version, no release labels Oct 18, 2026
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Run the PR version check in a separate workflow

⚙️ Configuration changes 📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• Move the version check into its own workflow so label changes do not rerun full CI.
• Keep lint, tests, builds, and release behavior unchanged.
• Update version-policy comments and documentation in three languages.
Diagram

graph TD
  PR["PR updates"] --> CI["CI workflow"] --> Jobs["Lint tests builds release"]
  Labels["Label changes"] --> Version["Version workflow"] --> Check["Version check"]
  PR --> Version
Loading
High-Level Assessment

A separate workflow is the appropriate boundary: keeping the check as a job in ci.yml would still trigger the entire workflow on label changes. The move preserves the existing check and leaves the other CI jobs independent.

Files changed (6) +49 / -26

Documentation (4) +12 / -8
check-version.shClarify how the separate workflow uses the version check +5/-3

Clarify how the separate workflow uses the version check

• Comments identify version.yml as the caller and explain that changes to it do not require a version bump. The check's behavior is unchanged.

.github/check-version.sh

README.mdDocument the dedicated version workflow in English +2/-1

Document the dedicated version workflow in English

• Identifies version.yml as the pull-request version check and explains that label changes rerun only that check.

README.md

README.ru.mdDocument the dedicated version workflow in Russian +3/-2

Document the dedicated version workflow in Russian

• Updates the Russian version-policy guidance to name version.yml and describe the effect of label changes.

README.ru.md

README.zh-CN.mdDocument the dedicated version workflow in Chinese +2/-2

Document the dedicated version workflow in Chinese

• Updates the Chinese version-policy guidance to name version.yml and describe the effect of label changes.

README.zh-CN.md

Other (2) +37 / -18
ci.ymlRemove label-triggered version job from full CI +2/-18

Remove label-triggered version job from full CI

• Removes the version job and explicit pull-request label event types. Lint, test, build, and release jobs remain in this workflow.

.github/workflows/ci.yml

version.ymlRun version validation in a dedicated PR workflow +35/-0

Run version validation in a dedicated PR workflow

• Adds a pull-request workflow that runs the existing check on PR and label events, passing the no-release label state. Its per-PR concurrency group cancels superseded checks.

.github/workflows/version.yml

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can move or hide resolved findings to focus on what still needs action

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@compot-dev
compot-dev merged commit d89e42f into master Oct 18, 2026
9 of 10 checks passed
@compot-dev
compot-dev deleted the version-workflow branch October 18, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-release Changes the build or the code without changing the binaries: no new version, no release uni Release naming and management, common across the repositories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: a label change re-runs the whole CI; move the version check into version.yml

1 participant