Description
Description:
We have a repository integrated with Codacy for static code analysis. While the pipeline generally functions as expected, we occasionally encounter an issue where the "Codacy Static Code Analysis" action does not get triggered from the GitHub workflow. Despite successful pushes and the rest of the pipeline running normally, Codacy’s analysis doesn’t start. Even after waiting for extended periods (days), the action still does not get triggered or return any results.
The issue is intermittent but seems to occur more frequently after force pushes (git push --force) to branches.
Repository Workflow:
Our CI/CD pipeline is set up using GitHub Actions. Below is a summary of relevant details:
-
Trigger Configuration:
- The GitHub Actions workflow is set to trigger on any push to any branch.
- Example yml workflow file configuration:
on: push: branches: - '**'
- Force pushes are included in this configuration.
-
Relevant Job Details:
- After running the tests and generating code coverage, the workflow uploads coverage to Codacy using the Codacy CLI:
- name: Install codacy CLI and upload coverage to codacy shell: bash run: | apt-get update && apt-get install -y curl bash <(curl -Ls https://coverage.codacy.com/get.sh) env: CODACY_API_TOKEN: ${{ secrets.CODACY_API_TOKEN }} CODACY_ORGANIZATION_PROVIDER: ${{ vars.CODACY_ORGANIZATION_PROVIDER }} CODACY_USERNAME: ${{ vars.CODACY_USERNAME }} CODACY_PROJECT_NAME: ${{ vars.CODACY_PROJECT_NAME }}
-
Observed Behavior:
- All other jobs within the workflow (e.g., linting, testing) complete successfully.
- Occasionally, the Codacy analysis is not triggered. This occurs even after the successful upload of the coverage report.
- The issue is intermittent and seems to correlate with force pushes.
Expected Behavior:
Upon any push to a branch, including force pushes, the Codacy static code analysis should be triggered automatically as part of the CI/CD pipeline.
Steps to Reproduce:
- Make changes in the repository and force push (git push --force) to any branch.
- Check the GitHub Actions run, ensuring all jobs complete successfully.
- Observe whether the Codacy static code analysis is triggered.
Environment:
- Repository Platform: GitHub
- CI Tool: GitHub Actions
- Static Analysis Tool: Codacy
- Languages: Python
- Dependency Manager: Poetry
- Database Services Used in Pipeline: PostgreSQL, Redis