diff --git a/.github/workflows/bot.yaml b/.github/workflows/bot.yaml index 18438903..dc7e4355 100644 --- a/.github/workflows/bot.yaml +++ b/.github/workflows/bot.yaml @@ -179,7 +179,9 @@ jobs: token: ${{ steps.app.outputs.token || secrets.GHA_PAT || github.token }} branch: bot/${{ matrix.command }}${{ matrix.distro && format('-{0}', matrix.distro) || '' }}${{ (matrix.command == 'add-package' || matrix.command == 'rebuild') && format('-{0}', github.run_id) || '' }} delete-branch: true - commit-message: ${{ steps.bot.outputs.title }} + # pinning updates can rebuild a lot: their commits carry [ci skip], so the daily + # re-creation of the PR (a force push) doesn't start CI; push a commit without it to build + commit-message: ${{ steps.bot.outputs.title }}${{ matrix.command == 'update-conda-forge-pinning' && ' [ci skip]' || '' }} title: ${{ steps.bot.outputs.title }} body-path: ${{ runner.temp }}/summary.md labels: | diff --git a/README.md b/README.md index e7969631..75e500e2 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ label doesn't start one by itself. Nothing has to be reset before merging. | `add-package ... [...]` | anyone | Adds ROS packages to the shared selection in `shared/vinca.yaml`, in sorted position; every distribution that has them builds them. Opens a PR listing, for the given (default: every) distribution, what will be built on linux-64 (and what is already published as a dependency). Valid ROS package names only, at most 10 per request. | | `update-rosdistro-snapshot [... \| all]` | maintainers | Snapshots the distribution's latest rosdistro sync (the release team's tag, e.g. `jazzy/2026-10-05`, recorded as `rosdistro_sync` in `distro.yaml`; rosdistro master for `rosdistro_sync: manual`, like rolling), then sets `build_number` to the highest build of the distribution's released packages + 1, bumps the mutex minor version and removes all per-package build numbers: a full rebuild. The PR links the sync's announcement and lists the version bumps. Runs daily for distributions with a new sync. | | `find-stale-packages [... \| all]` | maintainers | Published packages built against pins that no longer match, with the build-number snippet to rebuild them. Replies only. | -| `update-conda-forge-pinning [... \| all]` | maintainers | Moves the distribution's conda-forge pinning (`conda_forge_pinning_version` / `conda_forge_migrations` in `distro.yaml`, or `shared/pinning/conda_forge.yaml` for distributions that follow it) to the latest version, with the migrations that are done for the distribution's dependencies, and re-renders `conda_build_config.yaml`. Only packages that use a changed pin, and everything depending on them, are rebuilt (per-package build numbers); more than half affected means a full rebuild. The PR lists the rebuilt packages, the migrations used and those waiting for feedstocks, and the dependency check; it is labelled `dependency-conflict` when the pins can't be installed together. Runs daily, one PR per distribution. | +| `update-conda-forge-pinning [... \| all]` | maintainers | Moves the distribution's conda-forge pinning (`conda_forge_pinning_version` / `conda_forge_migrations` in `distro.yaml`, or `shared/pinning/conda_forge.yaml` for distributions that follow it) to the latest version, with the migrations that are done for the distribution's dependencies, and re-renders `conda_build_config.yaml`. Only packages that use a changed pin, and everything depending on them, are rebuilt (per-package build numbers); more than half affected means a full rebuild. The PR lists the rebuilt packages, the migrations used and those waiting for feedstocks, and the dependency check; it is labelled `dependency-conflict` when the pins can't be installed together. Runs daily, one PR per distribution. Its commits carry `[ci skip]`, so the daily update of the PR (a force push) doesn't start a build: to build it, push a commit without the marker (e.g. `git commit --allow-empty -m "Build"`). | | `rebuild ... [... \| all] [--with-dependents]` | maintainers | New builds of ROS packages (dashes or underscores, `ros--` / `ros2-` prefixes accepted) in the given distributions (default: every one that builds them): per-package build numbers in `distros//pkg_additional_info.yaml`, above every released build. `--with-dependents` also rebuilds every package that depends on them (host or run, transitively; vinca's rebuild planner). Opens a PR listing the rebuilt packages. | | `rebuild-dependents` | maintainers | Only as a comment on a pull request: commits the build-number entries the ABI check's comment suggests (its `yaml` blocks per distribution) to the pull request's branch, keeping existing entries' other keys. Pull requests from forks can't be pushed to: the bot replies with the entries to add instead. | | `update-vinca []` | maintainers | Moves the vinca pin in `pixi.toml` to the newest commit of the pinned repository's branch (`robostack-integration` for Tobias-Fischer/vinca, else its default branch) or of ``, runs `pixi lock`, re-renders the pinning and runs `rs check`. The PR links the comparison and lists the vinca commits. |