ci: 🚀 track-downloads pushes via PR + auto-merge (main is protected) #198

Merged
goern merged 0 commits from refs/pull/198/head into main 2026-06-02 15:12:44 +00:00
goern commented 2026-06-02 15:10:34 +00:00 (Migrated from codeberg.org)

What

Branch protection on main blocks the daily git push origin HEAD:main in .forgejo/workflows/track-downloads.yml. Reworked the job to:

  1. Commit the download snapshot to a throwaway bot/downloads-<date> branch
  2. Open a PR via the Forgejo API
  3. Merge it with the token's PR-merge permission (delete_branch_after_merge self-cleans the branch)

Requirements

  • DOWNLOAD_TRACKER_TOKEN must carry repo write + PR merge.
  • ⚠️ The token's user must bypass any required approvals/status checks on main, otherwise the merge call fails and the workflow leaves the PR open (exit 1) for manual handling.

No recursion: the workflow triggers only on schedule/workflow_dispatch, not push.

Closes forgejo-mcp-xjv.

## What Branch protection on `main` blocks the daily `git push origin HEAD:main` in `.forgejo/workflows/track-downloads.yml`. Reworked the job to: 1. Commit the download snapshot to a throwaway `bot/downloads-<date>` branch 2. Open a PR via the Forgejo API 3. Merge it with the token's PR-merge permission (`delete_branch_after_merge` self-cleans the branch) ## Requirements - `DOWNLOAD_TRACKER_TOKEN` must carry **repo write + PR merge**. - ⚠️ The token's user must **bypass any required approvals/status checks** on `main`, otherwise the merge call fails and the workflow leaves the PR open (exit 1) for manual handling. No recursion: the workflow triggers only on `schedule`/`workflow_dispatch`, not `push`. Closes forgejo-mcp-xjv.
op1st-gitops commented 2026-06-02 15:10:43 +00:00 (Migrated from codeberg.org)

op1st Pipelines as Code/forgejo-mcp-code-scans-qlk9q is running.

Starting Pipelinerun forgejo-mcp-code-scans-qlk9q in namespace op1st-pipelines

You can monitor the execution using the op1st Pipelines as Code PipelineRun viewer or through the command line by
using the tkn CLI with the following command:

tkn pr logs -n op1st-pipelines forgejo-mcp-code-scans-qlk9q -f

op1st Pipelines as Code/forgejo-mcp-code-scans-qlk9q is running. Starting Pipelinerun <b>[forgejo-mcp-code-scans-qlk9q](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q)</b> in namespace <b>op1st-pipelines</b> You can monitor the execution using the [op1st Pipelines as Code](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q) PipelineRun viewer or through the command line by using the [tkn](https://tekton.dev/docs/cli/#installation) CLI with the following command: <code>tkn pr logs -n op1st-pipelines forgejo-mcp-code-scans-qlk9q -f</code>
op1st-gitops commented 2026-06-02 15:10:43 +00:00 (Migrated from codeberg.org)

op1st Pipelines as Code/forgejo-mcp-on-pull-request-ms82w is running.

Starting Pipelinerun forgejo-mcp-on-pull-request-ms82w in namespace op1st-pipelines

You can monitor the execution using the op1st Pipelines as Code PipelineRun viewer or through the command line by
using the tkn CLI with the following command:

tkn pr logs -n op1st-pipelines forgejo-mcp-on-pull-request-ms82w -f

op1st Pipelines as Code/forgejo-mcp-on-pull-request-ms82w is running. Starting Pipelinerun <b>[forgejo-mcp-on-pull-request-ms82w](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w)</b> in namespace <b>op1st-pipelines</b> You can monitor the execution using the [op1st Pipelines as Code](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w) PipelineRun viewer or through the command line by using the [tkn](https://tekton.dev/docs/cli/#installation) CLI with the following command: <code>tkn pr logs -n op1st-pipelines forgejo-mcp-on-pull-request-ms82w -f</code>
op1st-gitops commented 2026-06-02 15:11:07 +00:00 (Migrated from codeberg.org)

op1st Pipelines as Code/forgejo-mcp-code-scans-qlk9q has successfully validated your commit.


Task Statuses:

StatusDurationName
Succeeded 13 seconds

fetch-source

Succeeded 8 seconds

gitleaks-version

Succeeded 10 seconds

gitleaks

op1st Pipelines as Code/forgejo-mcp-code-scans-qlk9q has <b>successfully</b> validated your commit. <ul> <li><b>Namespace</b>: <a href="https://detailurl.setting.custom-console-url-namespace.is.not.configured">op1st-pipelines</a></li> <li><b>PipelineRun:</b> <a href="https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q">forgejo-mcp-code-scans-qlk9q</a></li> </ul> <hr> <h4>Task Statuses:</h4> <table> <tr><th>Status</th><th>Duration</th><th>Name</th></tr> <tr> <td>Succeeded</td> <td>13 seconds</td><td> [fetch-source](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q/logs/fetch-source) </td></tr> <tr> <td>Succeeded</td> <td>8 seconds</td><td> [gitleaks-version](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q/logs/gitleaks-version) </td></tr> <tr> <td>Succeeded</td> <td>10 seconds</td><td> [gitleaks](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-code-scans-qlk9q/logs/gitleaks) </td></tr> </table>
op1st-gitops commented 2026-06-02 15:12:34 +00:00 (Migrated from codeberg.org)

op1st Pipelines as Code/forgejo-mcp-on-pull-request-ms82w has successfully validated your commit.


Task Statuses:

StatusDurationName
Succeeded 15 seconds

fetch-source

Succeeded 1 minute

build-and-test

Succeeded 12 seconds

commit-title-check

op1st Pipelines as Code/forgejo-mcp-on-pull-request-ms82w has <b>successfully</b> validated your commit. <ul> <li><b>Namespace</b>: <a href="https://detailurl.setting.custom-console-url-namespace.is.not.configured">op1st-pipelines</a></li> <li><b>PipelineRun:</b> <a href="https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w">forgejo-mcp-on-pull-request-ms82w</a></li> </ul> <hr> <h4>Task Statuses:</h4> <table> <tr><th>Status</th><th>Duration</th><th>Name</th></tr> <tr> <td>Succeeded</td> <td>15 seconds</td><td> [fetch-source](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w/logs/fetch-source) </td></tr> <tr> <td>Succeeded</td> <td>1 minute</td><td> [build-and-test](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w/logs/build-and-test) </td></tr> <tr> <td>Succeeded</td> <td>12 seconds</td><td> [commit-title-check](https://console-openshift-console.apps.nostromo.erdgeschoss.b4mad.emea.operate-first.cloud/k8s/ns/op1st-pipelines/tekton.dev~v1~PipelineRun/forgejo-mcp-on-pull-request-ms82w/logs/commit-title-check) </td></tr> </table>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
agentic-forges/forgejo-mcp!198
No description provided.