Open matheuscamarques opened 4 months ago
Thanks for taking the time to create a very detailed issue :)
I am planning to add the CI files when I tackle the mix scribe.gen.ci
, as per the Roadmap, but I am happy to accept a PR from you with just the CI files.
On a future release I will add the generators based on these CI files.
Objective:
Create CI (Continuous Integration) files for GitHub and GitLab that include the basic steps for running code quality and security checks in an Elixir project.
Basic Steps to Run:
mix format --dry-run --check-formatted
: Check if the code is formatted according to the defined rules.mix deps.unlock --check-unused
: Check for unused dependencies.mix deps.audit
: Audit dependencies for known vulnerabilities.mix hex.audit
: Audit Hex packages for vulnerabilities.mix sobelow
: Run security checks on the code.mix credo
: Run static analysis and check code for style compliance.mix doctor
: Evaluate code documentation.mix test --cover
: Run unit tests and generate a code coverage report.Functional Requirements:
See Other Approaches:
Useful Resources and References
GitHub Actions:
GitLab CI/CD:
BitBucket Pipelines:
Other CI File Patterns:
CI File Examples
GitHub Actions (
.github/workflows/ci.yml
):GitLab CI (
.gitlab-ci.yml
):These examples provide a solid foundation for setting up continuous integration using GitHub Actions and GitLab CI/CD for Elixir projects. To adapt these files for BitBucket or other CI tools, consult the specific documentation and adjust accordingly.