Emilien Escalle f1193bc509 ci: enable codecov for test coverage
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2025-11-22 21:38:39 +01:00

95 lines
2.8 KiB
YAML

name: Internal - Main - Continuous Integration
on:
push:
branches: [main]
tags: ["*"]
workflow_dispatch:
schedule:
- cron: "25 8 * * 1"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
ci:
uses: ./.github/workflows/__shared-ci.yml
permissions:
actions: read
contents: read
id-token: write
packages: read
pull-requests: write
security-events: write
statuses: write
secrets: inherit
release:
needs: ci
if: github.event_name != 'schedule'
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
artifact-id: ${{ steps.upload-artifact.outputs.artifact-id }}
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- name: 📖 Generate documentation
id: generate-documentation
uses: hoverkraft-tech/ci-dokumentor@c46a1a108957237cf485103a80b060c35c7dba33 # 0.2.2
with:
source: action.yml
extra-badges: |
[
{
"label":"codecov",
"url":"https://codecov.io/gh/hoverkraft-tech/compose-action/graph/badge.svg?token=90JXB7EIMA",
"linkUrl":"https://codecov.io/gh/hoverkraft-tech/compose-action"
}
]
- uses: actions/create-github-app-token@7e473efe3cb98aa54f8d4bac15400b15fad77d94 # v2.2.0
id: generate-token
with:
app-id: ${{ vars.CI_BOT_APP_ID }}
private-key: ${{ secrets.CI_BOT_APP_PRIVATE_KEY }}
- uses: hoverkraft-tech/ci-github-common/actions/create-and-merge-pull-request@c314229c3ca6914f7023ffca7afc26753ab99b41 # 0.30.1
with:
github-token: ${{ steps.generate-token.outputs.token }}
branch: docs/actions-workflows-documentation-update
title: "docs: update actions and workflows documentation"
body: Update actions and workflows documentation
commit-message: |
docs: update actions and workflows documentation
[skip ci]
- id: upload-artifact
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: documentation-files-${{ github.run_id }}
path: |
${{ steps.generate-documentation.outputs.destination }}
.github/logo.svg
sync-docs:
needs: release
if: needs.release.outputs.artifact-id
uses: hoverkraft-tech/public-docs/.github/workflows/sync-docs-dispatcher.yml@c40c17f7d6a8090950b3ef4bfc70502707a6bb9f # 0.3.0
permissions:
contents: read
with:
artifact-id: ${{ needs.release.outputs.artifact-id }}
github-app-id: ${{ vars.CI_BOT_APP_ID }}
secrets:
github-app-key: ${{ secrets.CI_BOT_APP_PRIVATE_KEY }}