Application: govuk-dependency-checker
Scripts to check GOV.UK dependencies (for Dependabot management)
README
Scripts to check the state of GOV.UK dependencies. At the moment,
this repo includes:
-
A daily k8s job
that gathers statistics and sends the metrics to Prometheus.
It can then be seen on a Grafana dashboard
-
Metrics on auto-merged vs user-merged Dependabot PRs.
-
Checking for gems that are included both locally in an application,
and in GOV.UK’s own govuk_app_config
gem. This way, we don’t have
to do duplicate Dependabot updates for unnecessary duplication.
-
Some Ruby to get statistics on how many Dependabot PRs we’ve merged,
split by major
, minor
and patch
version. Used to inform how
much work we do on Dependabot and how we approach the various
version bumps.
-
Statistics on “time to merge” Dependabot PRs, showing how many days
have passed between Dependabot PRs being opened and merged. We are
retrieving maximum 300 PRs per repository, so we won’t have accurate
statistics for the PRs opened a few months in the past. The script
takes around 15 minutes to run.
./dependabot_time_to_merge --from 2023-03-27 --to 2023-03-28 --outdated-limit 30
--outdated-limit
option is used for displaying which dependencies were outdated
for more than X number of days (default value is 20)
They all require GITHUB_TOKEN
as an environment variable, with at
least repo
scope.
There is also an Apps Script to pull dependency versions into a spreadsheet.
How to deploy
This needs manual deployment to production. Once the release
GitHub Action has run select the deploy
GitHub action and
under Use workflow from
choose to deploy from the latest tag. Then enter the latest tag number into the text field.