Skip to content

capralifecycle/github-actions-ci-dashboard

Repository files navigation

logo
GitHub Actions CI-Dashboard

Java Badge Kotlin Badge Build Status Technical Debt Code Smells Coverage

Responsible for collecting GitHub Actions workflow_run webhook data and providing a web dashboard with recent CI build status. Put this on a TV in your office.

Screenshot

Documentation

Usage:

Development:

Architecture

AWS infra architecture

Contributing

Getting started

Tool dependencies

You need to install:

  • Docker
  • Maven (or run maven through IntelliJ)
  • JDK 17
    • brew tap homebrew/cask-versions and thenbrew install --cask temurin17

Developer machine setup

  1. Authenticate to Github Packages for internal maven repos.
  2. Create an overrides.properties by running
    ./init-local-env.sh
  3. Install ktfmt plugin to IntelliJ

Running the application

  1. Start the db in docker-compose.yml
  2. Run the main method from intelliJ
  3. Watch the logs for which port is being used.
  4. Visit http://localhost:PORT/?token=TOKEN_HERE

You can test the API with src/test/http/health.http, webhook.http.

Running tests

mvn verify
  • Add -DskipTests to mvn to disable all tests.
  • Add -DskipITs to only disable integration tests.
  • Add -DREGENERATE_FAILED_SNAPSHOTS=true to update snapshot tests.

Linting

Only check lint: mvn spotless:check

Fix: mvn spotless:apply

Writing CSS

  1. Make sure you run init-local-env.sh to get hot-reload enabled.
  2. There is a "test" called DevelopmentAid that you can start to open a website preloaded with data.
  3. Then modify the css in index.hbs.
  4. Refresh the page.

Deploying

Push the master branch. You can track the progress in GitHub Actions and in the AWS CodePipeline (liflig-experiments).

License

Copyright 2025 Liflig AS (org.nr. 925906093)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

TV display of CI Workflows in GitHub Actions. Kotlin backend, htmx frontend and GitHub webhooks.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10