GitHub Workflows
This page explains the automations in .github/workflows for our project.
Quick map
.github/workflows/android-ci.yml: runs the Android unit tests..github/workflows/coverage.yml: generates JaCoCo coverage and uploads to Codecov..github/workflows/deploy-website.yml: builds and deploys Docusaurus to GitHub Pages..github/dependabot.yml: opens dependency update PRs for configured ecosystems.codecov.yml: Codecov status/threshold/ignore rules.
1) Android CI (android-ci.yml)
When it runs
- On push to any branch (
branches: ['**']) with some paths ignored (**.md,website/**,.gitignore,LICENSE). - On pull requests targeting
main. - On manual trigger (
workflow_dispatch).
What it does
- checks out the repo
- sets up JDK 17
- runs
./gradlew test --stacktrace - publishes JUnit test results
- uploads test report artifacts
2) Coverage + Codecov (coverage.yml)
When it runs
- On push to
main - On pull requests to
main - On manual trigger
What it does
- runs
./gradlew testDebugUnitTest jacocoTestReport --stacktrace - uploads
app/build/reports/jacoco/jacocoTestReport/jacocoTestReport.xmlto Codecov - uploads JaCoCo artifacts for debugging
3) Website deployment (deploy-website.yml)
When it runs
- On push to
main
What it does
Build job:
- checks out repository
- sets up Node 20
- runs
npm ciinwebsite/ - runs
npm run build - uploads
website/buildas Pages artifact
Deploy job:
- takes the build artifact
- deploys with
actions/deploy-pages
4) Dependabot (.github/dependabot.yml)
Current setup:
- enabled for
github-actionsandgradle - checks weekly
- max 5 open Dependabot PRs