Skip to content
forked from cms-sw/cms-bot

A few scripts to automate approval / testing process

Notifications You must be signed in to change notification settings

agrohsje/cms-bot

This branch is 10327 commits behind cms-sw/cms-bot:master.

Folders and files

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

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: 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 to notify developers when a PR touches the packages they watch.

Release building

  • process-build-release-request
  • 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.

About

A few scripts to automate approval / testing process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 63.6%
  • Shell 19.9%
  • C 12.0%
  • JavaScript 3.1%
  • Other 1.4%