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. It is run by CMS Github Bot in jenkins.
- run-pr-tests: Runs several tests for the pull requests, this includes compilation, unit tests, relvals, and static analysis, among other tests. It is run by ib-any-integration in Jenkins.
- 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: script that handles the github issue used to request the build.
- build-release: 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.
For more information see Automated Builds
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.
IB Pages
The IB pages can bee seen here.
For more information see IB Pages
Cleanup of cmssdt
- cleanup-cmssdt: takes care of cleaning up disk space in vocms12.
- cleanup-cmssdt01: takes care fo cleaning up disk space in cmssdt01. This machine is currently used for the jenkins artifacts.
Automatic Forward Ports.