Skip to content

Add GitLab CI Runner Status Page - #247

Merged
smarr merged 11 commits into
masterfrom
gitlab-runner-status
Sep 7, 2026
Merged

smarr merged 11 commits into
masterfrom
gitlab-runner-status

Conversation

@smarr

@smarr smarr commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Technically, this feature doesn't really fit into ReBenchDB and should be part of GitLab or so.
Though, it seems the best place for me to maintain it for the moment.

This added page shows the results of a GitLab GraphQL query to show all runners and pipelines and jobs associated with a GitLab group.
The result is shown with the most recent and active jobs first.

The assumption is that one wants to know what's currently running, who queued a job, and who to talk to when there might be issues.

This PR adds dependencies on:

  • graphql-request
  • graphql
  • nock for testing

TODOs

  • look through added colors and sync with the rest of the styling
  • test the dark mode
  • possibly extract the CSS to files as we normally do
  • add the same support for dark/light mode switching we have elsewhere

@smarr
smarr force-pushed the gitlab-runner-status branch 5 times, most recently from 1a5a584 to ceb0ae8 Compare June 21, 2026 10:08
@smarr

smarr commented Jun 21, 2026

Copy link
Copy Markdown
Owner Author

Since this looks like very large PR, the main element is just about 870 lines of change

$ git diff --stat master HEAD -- src
 src/backend/gitlab/graphql-api.ts          | 103 ++++++++++++++++++++++++
 src/backend/gitlab/html/index.html         | 137 ++++++++++++++++++++++++++++++++
 src/backend/gitlab/html/relative-time.html |   1 +
 src/backend/gitlab/html/tags.html          |   7 ++
 src/backend/gitlab/request-cache.ts        |  66 ++++++++++++++++
 src/backend/gitlab/runner-status.ts        | 448 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/backend/util.ts                        |  46 +++++++++--
 src/index.ts                               |  27 ++++++-
 src/shared/data-format.ts                  |  32 ++++++++
 9 files changed, 858 insertions(+), 9 deletions(-)

@smarr
smarr force-pushed the gitlab-runner-status branch from ceb0ae8 to 2c5491f Compare July 4, 2026 13:59
@smarr
smarr force-pushed the gitlab-runner-status branch 4 times, most recently from 2c5491f to 41ca28d Compare July 16, 2026 12:28
@smarr
smarr force-pushed the gitlab-runner-status branch 2 times, most recently from 6ef9605 to 4e0209b Compare August 21, 2026 13:24
@smarr
smarr force-pushed the gitlab-runner-status branch 3 times, most recently from 4c863b2 to c320386 Compare September 7, 2026 18:02
smarr added 11 commits September 7, 2026 21:13
- query the GraphQL API for runners and their pipelines/jobs
- status page as part of a project/group, the idea is that they are access protected in the future
- it’s a bit separate from the rest by design, just in case we want to take it out in the future

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
…rk for. each page load

- fix include runner-status.ts after rebase

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
Currently, there’s nothing project specific.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
This is mostly to avoid this causing lots of load on the server.

Signed-off-by: Stefan Marr <git@stefan-marr.de>
…aths

Signed-off-by: Stefan Marr <git@stefan-marr.de>

Share GraphQL client

Signed-off-by: Stefan Marr <git@stefan-marr.de>
…enchVersion

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Signed-off-by: Stefan Marr <git@stefan-marr.de>
@smarr
smarr force-pushed the gitlab-runner-status branch from ffff7f4 to 35ce0db Compare September 7, 2026 19:13
@smarr
smarr merged commit c21dfd6 into master Sep 7, 2026
2 checks passed
@smarr
smarr deleted the gitlab-runner-status branch September 7, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant