The Badges project is an Elixir application that provides status badges for projects. These badges can be used to display the current status of a project's branches, such as whether the latest build passed or failed. The application integrates with Semaphore to fetch the status of the projects and generate the corresponding badges.
- Generate status badges for public and private projects.
- Support for different badge styles.
- Integration with Semaphore CI for fetching project statuses.
- Caching of badge data to improve performance.
- Health check endpoint to verify the service is running.
The application provides several endpoints for fetching badges:
/is_alive
: Health check endpoint./badges/:project_name/branches/*branch_name
: Fetch the badge for a specific branch./badges/:project_name
: Fetch the badge for the default branch.
The following commands are available in the Makefile and Root Makefile:
make dev.setup
- Sets up the development environmentmake console.ex
- Run an interactive shell inside the Docker containermake format.ex
- Format the code
make test.ex
- Runs the testsmake deps.check
- Checks dependenciesmake format.check
- Checks formattingmake lint
- Runs code linting (credo)