-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci(commitlint): address an issue where commitlint keeps failing #91
Comments
Root cause Analysis: We are trying to execute the linter as an ES module whilst the file contains vanilla javascript. In order to sync the workflow with what we have the linter config, we need to install conventional commit dependancy via NPM through the job and convert the config file format from js to cjs. This will resolve the ambiguity and allow the job to utilize the commitlint config file for the lint check. |
<!-- Suggested PR Title: [feat/fix/refactor/perf/test/ci/docs/chore] brief description of the change --> <!-- Please follow Conventional Commits: https://www.conventionalcommits.org/en/v1.0.0/ --> ## Description This PR resolves an issue related to the `commit-lint` job in `.github/workflows/ci.yml`. Closes [#91] ## Type of Change - [X] Bug fix - [ ] New feature - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update ## Checklist - [X] My code follows the style guidelines of this project - [X] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [X] My changes generate no new warnings - [ ] Any dependent changes have been merged and published in downstream modules # Pull Request ## Description This PR addresses an issue where `commit-lint` job crashes when validating pull requests. ## Changes Made Currently, the commitlint config file is getting loaded as an ES module whilst it contains vanilla javascript configurations. This causes the job to crash because it expects a common javascript config but finds an ES module config. To address this issue The commit-lint config file has been changed to a `common-js` file instead of a `js` file and the conventional commit dependancy will now be installed during the job via npm. ## Screenshots (if applicable) After making the changes, I tested the commit-lint job locally and here is an excerpt of the execution: ``` (py-maidr) ➜ py_maidr git:(Krishna/fix-commitlint) act -j commit-lint -W .github/workflows/ci.yml --container-architecture linux/amd64 INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock' [CI/commit-lint] 🚀 Start image=catthehacker/ubuntu:act-latest INFO[0000] Parallel tasks (0) below minimum, setting to 1 [CI/commit-lint] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true [CI/commit-lint] using DockerAuthConfig authentication for docker pull INFO[0001] Parallel tasks (0) below minimum, setting to 1 [CI/commit-lint] 🐳 docker create image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [CI/commit-lint] 🐳 docker run image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [CI/commit-lint] ☁ git clone 'https://github.com/wagoid/commitlint-github-action' # ref=v6 [CI/commit-lint] ⭐ Run Main actions/checkout@v3 [CI/commit-lint] 🐳 docker cp src=/Users/krishnaanandan/Desktop/maidr_krishna/py_maidr/. dst=/Users/krishnaanandan/Desktop/maidr_krishna/py_maidr [CI/commit-lint] ✅ Success - Main actions/checkout@v3 [CI/commit-lint] ⭐ Run Main Install commitlint dependencies [CI/commit-lint] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/1] user= workdir= | | added 11 packages in 3s | | 1 package is looking for funding | run `npm fund` for details [CI/commit-lint] ✅ Success - Main Install commitlint dependencies [CI/commit-lint] ⭐ Run Main Lint commit messages [CI/commit-lint] 🐳 docker pull image=wagoid/commitlint-github-action:6.1.1 platform=linux/amd64 username= forcePull=true [CI/commit-lint] using DockerAuthConfig authentication for docker pull [CI/commit-lint] 🐳 docker create image=wagoid/commitlint-github-action:6.1.1 platform=linux/amd64 entrypoint=[] cmd=[] network="container:act-CI-commit-lint-6b355268bbbb8e27234c3c935b66fc686b070544b9a3b02b47d79688837a12ff" [CI/commit-lint] 🐳 docker run image=wagoid/commitlint-github-action:6.1.1 platform=linux/amd64 entrypoint=[] cmd=[] network="container:act-CI-commit-lint-6b355268bbbb8e27234c3c935b66fc686b070544b9a3b02b47d79688837a12ff" | Lint free! 🎉 [CI/commit-lint] ✅ Success - Main Lint commit messages [CI/commit-lint] ⚙ ::set-output:: results=[] [CI/commit-lint] Cleaning up container for job commit-lint [CI/commit-lint] 🏁 Job succeeded (py-maidr) ➜ py_maidr git:(Krishna/fix-commitlint) ``` ## Checklist <!-- Please select all applicable options. --> <!-- To select your options, please put an 'x' in the all boxes that apply. --> - [X] I have read the [Contributor Guidelines](../CONTRIBUTING.md). - [X] I have performed a self-review of my own code and ensured it follows the project's coding standards. - [X] I have tested the changes locally following `ManualTestingProcess.md`, and all tests related to this pull request pass. - [ ] I have commented my code, particularly in hard-to-understand areas. - [ ] I have updated the documentation, if applicable. - [ ] I have added appropriate unit tests, if applicable.
Closed via #92 |
Our commitlint keeps failing and we need to fix the CI.
The text was updated successfully, but these errors were encountered: