Skip to content

cms-sw/cms-bot

Folders and files

NameName
Last commit message
Last commit date
Apr 15, 2025
Oct 14, 2024
Oct 2, 2024
Jun 2, 2021
Apr 8, 2025
May 2, 2023
Oct 31, 2023
Mar 10, 2025
Mar 13, 2025
Feb 28, 2025
Feb 3, 2025
Nov 8, 2022
Apr 16, 2025
Feb 2, 2025
Jul 26, 2016
Apr 13, 2025
Jun 14, 2024
Feb 18, 2025
Apr 10, 2025
Apr 11, 2025
Oct 2, 2024
Mar 18, 2025
Oct 31, 2023
Jan 20, 2025
Oct 2, 2024
Apr 9, 2025
Oct 31, 2023
Oct 2, 2024
Feb 24, 2025
Mar 19, 2025
Sep 20, 2024
Oct 31, 2023
Jun 17, 2022
Mar 18, 2025
Aug 4, 2023
Apr 15, 2025
Oct 2, 2024
Nov 1, 2023
Dec 11, 2024
Apr 27, 2015
Oct 29, 2015
Oct 29, 2015
Jan 12, 2024
Apr 9, 2025
Jan 29, 2024
Oct 31, 2023
Apr 1, 2021
Jul 30, 2024
Jun 14, 2024
Dec 9, 2024
Jul 29, 2024
Apr 5, 2019
Jul 29, 2024
Dec 13, 2017
Jan 20, 2025
Dec 7, 2016
Oct 2, 2024
Mar 24, 2025
Feb 19, 2025
Jan 7, 2025
Dec 13, 2023
Oct 31, 2023
Oct 31, 2023
Oct 31, 2023
Oct 31, 2023
Jul 5, 2024
Sep 20, 2016
Apr 14, 2025
Jun 12, 2024
Jun 14, 2024
Oct 31, 2023
Nov 1, 2023
Nov 14, 2024
Oct 2, 2024
Sep 12, 2019
Oct 2, 2024
Apr 5, 2022
Nov 14, 2024
Jun 12, 2024
Mar 12, 2025
Dec 6, 2024
Dec 16, 2024
Apr 11, 2025
Feb 11, 2025
Jun 12, 2024
Nov 1, 2023
Nov 1, 2023
Oct 20, 2023
Apr 16, 2025
Oct 4, 2024
Apr 11, 2024
Jun 13, 2024
Jul 8, 2024
Jun 6, 2024
Nov 28, 2024
Mar 18, 2025
Jul 31, 2024
Jun 14, 2024
Oct 2, 2024
May 21, 2024
Oct 2, 2024
Oct 2, 2024
Jun 8, 2024
Oct 2, 2024
Feb 2, 2025
Jun 14, 2024
Jun 14, 2024
Feb 3, 2025
Jul 23, 2024
Oct 2, 2024
Oct 31, 2023
Oct 2, 2024
Nov 1, 2023
Feb 11, 2025
Oct 31, 2023
Jul 13, 2024
Feb 3, 2025
Nov 1, 2023
Aug 8, 2017
Dec 15, 2016
Oct 31, 2023
Feb 19, 2025
May 21, 2024
Oct 2, 2024
Jul 8, 2024
Apr 17, 2024
Mar 27, 2025
Dec 16, 2024
Mar 12, 2025
Jan 7, 2025
Feb 20, 2025
Nov 1, 2024
Oct 31, 2024
Jan 8, 2023
Apr 12, 2025
Jul 9, 2024
Apr 4, 2023
Dec 15, 2023
Apr 26, 2016
Mar 2, 2022
Nov 14, 2022
Jan 28, 2025
Jul 8, 2024
Oct 31, 2023
Jul 10, 2018
Aug 27, 2015
Apr 2, 2025
Nov 14, 2024
Jun 18, 2024
Jul 8, 2024
Jun 14, 2024
Oct 31, 2023
Feb 8, 2024
Oct 31, 2023
Mar 3, 2017
Feb 7, 2025
Jun 7, 2016
Oct 2, 2024
Dec 7, 2023
Oct 31, 2023
Apr 11, 2024
Nov 26, 2024
Oct 31, 2023
Apr 2, 2025
Apr 2, 2025
Jan 29, 2025
Dec 7, 2015
Oct 2, 2024
Nov 1, 2023
Oct 2, 2024
Jun 8, 2024
Feb 11, 2025
Apr 14, 2025
Feb 20, 2025
Nov 5, 2024
May 15, 2024
Jun 14, 2024
Jul 23, 2016
Jun 13, 2024
Oct 2, 2024
Apr 11, 2025
Feb 7, 2025
Jan 27, 2025
Mar 30, 2023
Oct 2, 2024
Dec 11, 2020
Mar 12, 2025
Feb 3, 2025
Oct 2, 2024
Oct 31, 2023
Jul 29, 2024
Mar 17, 2024
Mar 15, 2016
Apr 11, 2025
Apr 22, 2019
Oct 11, 2016
Mar 19, 2025
Mar 29, 2019
Apr 11, 2025
Dec 4, 2024
Jul 11, 2017
Jul 4, 2024
Mar 7, 2025
Mar 11, 2024
Feb 20, 2025
Apr 12, 2025
Oct 18, 2024
Aug 16, 2024
Feb 25, 2025
Oct 31, 2023
Feb 11, 2025
Oct 31, 2023
Jun 28, 2024
Apr 6, 2024
May 22, 2020
Apr 12, 2025
Apr 9, 2025
Nov 1, 2023
Sep 11, 2022
Oct 31, 2023
Apr 2, 2025
Jun 13, 2024
Feb 19, 2025
Jun 23, 2020
Feb 19, 2025
Feb 24, 2025
Nov 8, 2022

Repository files navigation

Introduction.

cms-bot started as a single script used to drive PR approval and grew to be the core of the whole release engineering process for CMSSW.

Setup

To have it working you'll need a ~/.github-token which can access the cms-sw organization.

Release integration

  • process-pull-request.py: this is the script which updates the status of a CMSSW PR. It parses all the messages associated to the specified PR and if it spots a transition (e.g. a L2 signature) it posts a message acknowledging what happended, updates the tags etc. The state of the PR is fully obtained by parsing all the comments, so that we do not have to maintain our own state tracking DB.
  • watchers.yaml: contains all the information required by process-pull-requests.py to notify developers when a PR touches the packages they watch.

Release building

  • process-build-release-request.py
  • release-build: script used to build a release which has been requested through a Github issue.
  • upload-release: script used to upload a release to the repository. When the job processing build requests spots a request to upload, it SSH to the build machine which has the release and executes this script.
  • config.map: semicolon separated key=value pairs formatted file with release queue related information. Each line represent a release queue. In particular CMSDIST_TAG is used to point to the CMSDIST tag to be used by the release building process.

Logging

Logging happens at many different level but we are trying to unify things using Elasticsearch for "live" data from which we dump precomputed views on a basis.

Code style

This project uses Black to ensure uniform code style. The following options are used:

--line-length 99 --target-version py36 --target-version py37 --target-version py38 --target-version py39 --target-version py310 --target-version py311

Ignoring formatting commits

We record commits containing only code-style changes in .git-blame-ignore-revs file. Use the following command on your local copy of this repository to exculse these commits from git blame:

$ git config blame.ignoreRevsFile .git-blame-ignore-revs