64 lines
No EOL
1.9 KiB
Markdown
64 lines
No EOL
1.9 KiB
Markdown
# GitHub Actions Workflows Guide
|
|
|
|
This document explains the GitHub Actions workflows set up for this project.
|
|
|
|
## Available Workflows
|
|
|
|
### 1. Run Tests Workflow (`test.yml`)
|
|
|
|
This workflow runs on pushes to `main` and `develop` branches, as well as on pull requests to these branches. It:
|
|
|
|
- Builds the project
|
|
- Runs all tests
|
|
- Generates code coverage reports
|
|
- Uploads coverage to Codecov
|
|
- Updates the test status badge (on push to main)
|
|
|
|
### 2. Update Badges Workflow (`update-badges.yml`)
|
|
|
|
This workflow runs whenever the "Run Tests" workflow completes. It:
|
|
|
|
- Updates the test status badge based on the test results (passing/failing)
|
|
|
|
### 3. PR Tests Workflow (`pr-test.yml`)
|
|
|
|
This workflow runs on pull requests to `main` and `develop` branches. It:
|
|
|
|
- Builds the project
|
|
- Runs all tests
|
|
- Generates test results and code coverage reports
|
|
- Comments on the PR with test results
|
|
- Uploads coverage reports to Codecov
|
|
|
|
### 4. Build Docker Image Workflow (existing `build.yml`)
|
|
|
|
This workflow runs on pushes to the `main` branch. It:
|
|
|
|
- Builds the Docker image
|
|
- Pushes the image to the GitHub Container Registry
|
|
|
|
## Setting Up Badge Functionality
|
|
|
|
To enable the badge functionality, follow the instructions in [BADGE_SETUP.md](BADGE_SETUP.md).
|
|
|
|
## GitHub Secrets
|
|
|
|
The following GitHub Secrets are required:
|
|
|
|
- `GIST_SECRET`: A GitHub Personal Access Token with `gist` scope
|
|
- `GIST_ID`: The ID of the GitHub Gist used to store badge data
|
|
|
|
## Badge in README
|
|
|
|
The README includes two badges:
|
|
1. Build Status: Shows the status of the most recent build workflow
|
|
2. Tests Status: Shows whether the tests are passing or failing
|
|
|
|
## Workflow Customization
|
|
|
|
You can customize these workflows by editing the YAML files in the `.github/workflows` directory:
|
|
|
|
- `.github/workflows/test.yml`
|
|
- `.github/workflows/update-badges.yml`
|
|
- `.github/workflows/pr-test.yml`
|
|
- `.github/workflows/build.yml` |