Skip to content

docs: refresh README (AI-assisted) - #34

Open
igorpecovnik wants to merge 1 commit into
mainfrom
chore/update-readme
Open

docs: refresh README (AI-assisted)#34
igorpecovnik wants to merge 1 commit into
mainfrom
chore/update-readme

Conversation

@igorpecovnik

Copy link
Copy Markdown
Member

Automated README refresh generated by the Maintenance: Update README (AI)
workflow in armbian.github.io.

The content is generated by Claude from this repository's own files (file tree,
manifests, workflows, existing README). Please review for accuracy before
merging — edit or close if anything is wrong.

Leave review comments here: while this PR stays open, the next run reads them
and folds your fixes into the regenerated README (they won't be overwritten).

@igorpecovnik igorpecovnik added the documentation Improvements or additions to documentation label Jul 24, 2026
@igorpecovnik
igorpecovnik force-pushed the chore/update-readme branch 2 times, most recently from 01c8b40 to f14fabe Compare July 27, 2026 08:49
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

README.md documents board and maintainer list workflows, pipeline inputs, support-track naming, release-target retrieval, and coordinated versioning. It replaces the watchdog failed-job-count limit with a minimum successful-job percentage threshold. It adds release cleanup, tooling, related repository, and further-reading documentation while removing older build execution and secrets sections.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • armbian/ci#47: Documents the board and maintainer list tooling and workflow.
  • armbian/ci#49: Documents board and maintainer list workflow changes related to generated dropdown updates.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly explains that the pull request refreshes the repository README through an automated workflow.
Title check ✅ Passed The title concisely identifies the README documentation refresh, which is the main change in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/update-readme

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 34: Update the workflow name in the README entry near
“build-standard-support.yml” to match the name used in the other section, “Build
Standard Support Images,” so both references are consistent.
- Line 67: Update the fenced code block containing the ASCII workflow diagram in
README.md to specify the text language identifier, changing the opening fence to
use text and leaving the diagram content unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 3899919d-2c37-4c60-a6d3-648295e4c698

📥 Commits

Reviewing files that changed from the base of the PR and between 89691a3 and 4556640.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
Comment thread README.md

Flow inside the reusable pipeline:

```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add a language identifier to the fenced code block.

markdownlint-cli2 reports MD040 at Line 67. Use text for this ASCII workflow diagram.

Proposed fix
-```
+```text
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```
🧰 Tools
🪛 markdownlint-cli2 (0.23.1)

[warning] 67-67: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 67, Update the fenced code block containing the ASCII
workflow diagram in README.md to specify the text language identifier, changing
the opening fence to use text and leaving the diagram content unchanged.

Source: Linters/SAST tools

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Around line 106-109: Update the README versioning section to match the
complete-artifact-matrix workflow: state that stable releases are read from REPO
(the source repository), while TARGET is the repository receiving the release,
and clarify that non-leader trunk targets may reuse the leader repository’s
existing counter rather than always incrementing N. Preserve the existing
versionOverride and missing-release behavior.
- Line 155: Update the README dependency description to call the versioned
action references versioned dependencies rather than pinned dependencies, unless
the referenced GitHub Actions are changed to immutable commit SHA pins.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e338e07-3ce5-45ad-9015-8dc739b237be

📥 Commits

Reviewing files that changed from the base of the PR and between 4556640 and 1578ff2.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines 106 to +109
Versioning is driven entirely by GitHub releases on the target repository — there is no version file in this repo:

- **Stable** builds require `versionOverride` (e.g. `26.8.0`).
- **Nightly** builds pick the newest `<base>-trunk.N` release in the target repo and bump `N`; `versionOverride` can seed a new base series.
- **Stable** tracks (standard-support, apps) reuse the latest `X.Y.Z` release in the source repo. `versionOverride` wins if set; otherwise an error is raised if no `X.Y.Z` release exists yet.
- **Nightly / trunk** tracks pick the newest `<base>-trunk.N` release and bump `N`. The counter is monotonic across a leader repo (`armbian/ci`) and its peer repos (e.g. `armbian/community`), so nightly and community stay ordered against each other. `versionOverride` can seed a new base series.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Align the versioning description with the workflow contract.

Line 106 says versions come from the target repository. .github/workflows/complete-artifact-matrix.yml reads stable versions from REPO (github.repository) and uses TARGET for the repository that receives the release. Also, a non-leader trunk target can reuse the leader’s counter; it does not always bump N. Update this section so operators do not inspect the wrong repository or expect a new number for every peer run.

Proposed clarification
-Versioning is driven entirely by GitHub releases on the target repository — there is no version file in this repo:
+Stable version lookup uses GitHub releases in the workflow repository. Trunk lookup uses the leader and peer repositories. Releases are published to the track's target repository. There is no version file in this repo:

-- **Nightly / trunk** tracks pick the newest `<base>-trunk.N` release and bump `N`. The counter is monotonic across a leader repo (`armbian/ci`) and its peer repos (e.g. `armbian/community`), so nightly and community stay ordered against each other. `versionOverride` can seed a new base series.
+- **Nightly / trunk** tracks resolve the newest `<base>-trunk.N` across the leader and peer repositories. The leader increments the counter. A non-leader target reuses the leader's counter when it is ahead; otherwise, it increments the global maximum. `versionOverride` can seed a new base series.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Versioning is driven entirely by GitHub releases on the target repository — there is no version file in this repo:
- **Stable** builds require `versionOverride` (e.g. `26.8.0`).
- **Nightly** builds pick the newest `<base>-trunk.N` release in the target repo and bump `N`; `versionOverride` can seed a new base series.
- **Stable** tracks (standard-support, apps) reuse the latest `X.Y.Z` release in the source repo. `versionOverride` wins if set; otherwise an error is raised if no `X.Y.Z` release exists yet.
- **Nightly / trunk** tracks pick the newest `<base>-trunk.N` release and bump `N`. The counter is monotonic across a leader repo (`armbian/ci`) and its peer repos (e.g. `armbian/community`), so nightly and community stay ordered against each other. `versionOverride` can seed a new base series.
Stable version lookup uses GitHub releases in the workflow repository. Trunk lookup uses the leader and peer repositories. Releases are published to the track's target repository. There is no version file in this repo:
- **Stable** tracks (standard-support, apps) reuse the latest `X.Y.Z` release in the source repo. `versionOverride` wins if set; otherwise an error is raised if no `X.Y.Z` release exists yet.
- **Nightly / trunk** tracks resolve the newest `<base>-trunk.N` across the leader and peer repositories. The leader increments the counter. A non-leader target reuses the leader's counter when it is ahead; otherwise, it increments the global maximum. `versionOverride` can seed a new base series.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 106 - 109, Update the README versioning section to
match the complete-artifact-matrix workflow: state that stable releases are read
from REPO (the source repository), while TARGET is the repository receiving the
release, and clarify that non-leader trunk targets may reuse the leader
repository’s existing counter rather than always incrementing N. Preserve the
existing versionOverride and missing-release behavior.

Comment thread README.md
- **Python 3** — `tools/update-workflow-board-lists.py`.
- **`gh` CLI + `jq`** — release/version resolution, job accounting, run re-runs, release cleanup.
- **`armbian/actions/*`** — reused composite actions (`team-check`, `runner-clean`).
- **`docker/login-action`, `actions/checkout`, `peter-evans/create-pull-request`** — pinned action dependencies (see `.github/dependabot.yml`).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

non_sha_refs="$(
  rg -nP '^\s*uses:\s*[^@[:space:]]+@(?![0-9a-fA-F]{40}\s*$)\S+' .github/workflows || true
)"

if [ -n "$non_sha_refs" ]; then
  printf '%s\n' "$non_sha_refs"
  exit 1
fi

Repository: armbian/ci

Length of output: 3416


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf 'README relevant line:\n'
sed -n '148,160p' README.md

printf '\nWorkflow action references by tag format:\n'
python3 - <<'PY'
import re
from pathlib import Path

sha40 = re.compile(r'^[0-9a-fA-F]{40}$')
for path in sorted(Path('.github/workflows').glob('*.yml')):
    for n, line in enumerate(path.read_text().splitlines(), 1):
        m = re.search(r'uses:\s*([^@\s]+)@([^#\s]+)', line)
        if not m:
            continue
        ref = m.group(2)
        status = 'SHA' if sha40.match(ref) else 'non-SHA tag/ref'
        print(f'{path}:{n}:{status}:{ref}')
PY

Repository: armbian/ci

Length of output: 3525


Do not call versioned action tags pinned dependencies.

Line 155 describes actions/checkout@v7, docker/login-action@v4, and peter-evans/create-pull-request@v8 as pinned, but these are mutable tags or branch refs rather than commit SHA pins. Use versioned or pin the actions to SHAs before keeping pinned here.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 155, Update the README dependency description to call the
versioned action references versioned dependencies rather than pinned
dependencies, unless the referenced GitHub Actions are changed to immutable
commit SHA pins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant