Skip to content
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

Closed
jooyoungseo opened this issue Aug 23, 2024 · 2 comments
Closed
Assignees

Comments

@jooyoungseo
Copy link
Member

Our commitlint keeps failing and we need to fix the CI.

@krishnanand5
Copy link
Collaborator

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.

jooyoungseo pushed a commit that referenced this issue Aug 23, 2024
<!-- 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.
@jooyoungseo
Copy link
Member Author

Closed via #92

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants