{"id":15432246,"url":"https://github.com/andrewmcodes/haml-lint-action","last_synced_at":"2025-08-06T15:08:43.076Z","repository":{"id":48744496,"uuid":"220346078","full_name":"andrewmcodes/haml-lint-action","owner":"andrewmcodes","description":"A GitHub Action that lints your HAML code with HAML Lint!","archived":false,"fork":false,"pushed_at":"2023-03-02T06:36:13.000Z","size":209,"stargazers_count":4,"open_issues_count":5,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-19T10:45:39.397Z","etag":null,"topics":["action","actions","andrewmcodes","annotations","github-actions","haml","haml-action","haml-lint","haml-lint-action","haml-linter-action","lint","linter","ruby","ruby-on-rails","workflow"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewmcodes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["andrewmcodes"]}},"created_at":"2019-11-07T23:17:48.000Z","updated_at":"2024-05-30T01:18:27.000Z","dependencies_parsed_at":"2024-10-21T21:50:34.940Z","dependency_job_id":null,"html_url":"https://github.com/andrewmcodes/haml-lint-action","commit_stats":{"total_commits":21,"total_committers":3,"mean_commits":7.0,"dds":"0.19047619047619047","last_synced_commit":"425a6790a49040b78234d0794744eff8fa1dd808"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/andrewmcodes/haml-lint-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewmcodes%2Fhaml-lint-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewmcodes%2Fhaml-lint-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewmcodes%2Fhaml-lint-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewmcodes%2Fhaml-lint-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewmcodes","download_url":"https://codeload.github.com/andrewmcodes/haml-lint-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewmcodes%2Fhaml-lint-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269101090,"owners_count":24359868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["action","actions","andrewmcodes","annotations","github-actions","haml","haml-action","haml-lint","haml-lint-action","haml-linter-action","lint","linter","ruby","ruby-on-rails","workflow"],"created_at":"2024-10-01T18:25:38.035Z","updated_at":"2025-08-06T15:08:43.023Z","avatar_url":"https://github.com/andrewmcodes.png","language":"Ruby","funding_links":["https://github.com/sponsors/andrewmcodes"],"categories":["Ruby"],"sub_categories":[],"readme":"[![Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](https://www.repostatus.org/badges/latest/inactive.svg)](https://www.repostatus.org/#inactive)\n\n# :white_check_mark: HAML Lint Action\n\nA GitHub Action to run [HAML-Lint](https://github.com/sds/haml-lint) against your code and create annotations in the GitHub UI.\n\n## :page_facing_up: Introduction\n\nGitHub Actions are an amazing new tool that can dramatically improve productivity while using the GitHub platform. While it is not hard to write a custom GitHub action to run HAML-Lint on your codebase, this action takes that functionality one step further using the checks API. After the HAML Lint Action runs HAML-Lint against your code, it will create annotations that you can easily view, matched up with the offending code.\n\nSince GitHub actions and the checks API are continually changing, it is possible that there will be breaking API changes that affect this action. If so, please open an issue and I will look into it as soon as I can.\n\n## :bulb: Usage\n\nAdd the following to your GitHub action workflow to use HAML Lint Action:\n\n```yaml\n- name: HAML Lint\n  uses: andrewmcodes/haml-lint-action@v0.0.2\n  with:\n    file_paths: 'app/**/*.html.haml'\n    fail_level: 'error'\n  env:\n    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\nIt is **highly** recommend you tie yourself to a version and do not do the following.\nI promise your life will be much easier. 😇\n\n```yml\n# ❌ Danger, sometimes I break things!\nuses: andrewmcodes/haml-lint-action@master\n\n# ✅ Much better.\nuses: andrewmcodes/haml-lint-action@v0.0.2\n```\n\n### :package: Example Workflow\n\nHere is an example workflow file incorporating HAML Lint Action:\n\n```yaml\nname: HAML Lint\n\non: [push]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v1\n    - name: HAML Lint\n      uses: andrewmcodes/haml-lint-action@v0.0.2\n      with:\n        file_paths: 'app/**/*.html.haml'\n        fail_level: 'error'\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n\n**Go [here](https://github.com/andrewmcodes/haml-lint-action-playground/blob/master/.github/workflows/test.yml) to see more examples!**\n\n### :moneybag: Available Inputs\n\nRefer to the [official `haml-lint` documentation](https://github.com/sds/haml-lint#usage) for more information on the `haml-lint` options.\n\n| **Input Parm Name** | **Required** | **Default Value** | **`haml-lint` option** |                                                                                    **Description**                                                                                    |              **Example**              |\n| :-----------------: | :----------: | :---------------: | :--------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------: |\n|       bundle        |    false     |       false       |           no           |                If you want to use a version of a gem you maintain this is your best bet. **NOTE:** action run time will increase relative to the size of your Gemfile.                |                `true`                 |\n|     file_paths      |    false     |   `app/views/`    |          yes           |                                         Define the paths you wish to be linted per run. Multiple paths can be on one line by adding a space.                                          |        `'app/**/*.html.haml'`         |\n|       version       |    false     | _latest release_  |           no           |                                                                   Define a specific version of the `haml-lint` gem.                                                                   |              `'0.33.0'`               |\n|   additional_gems   |    false     |                   |           no           |                                         Additional Gems can be installed via one line with spaces and commands are supported like a version.                                          | `'rubocop-rails rubocop-performance'` |\n|     config_path     |    false     |                   |          yes           | By default, `haml-lint` will load any file with the name `.haml-lint.yml` as a configuration file. If you want to load a config file with a different name or path, specify the path. |       `'config/haml-lint.yml'`        |\n|    exclude_paths    |    false     |                   |          yes           |                                                                 Define a list of paths to exclude from being linted.                                                                  |    `'app/views/home/*.html.haml'`     |\n|     fail_level      |    false     |      `error`      |          yes           |                                                          Can define `error` or `warning` to cause haml-lint to error out on.                                                          |              `'warning'`              |\n\n## :warning: Gotchas\n\n1. Due to the GitHub Check Runs API, we can only return 50 annotations per run. See [here](https://developer.github.com/v3/checks/runs/#output-object) for more info.\n2. There is a bug with the Checks API that might cause your runs to get jumbled in the UI, but they will all still run and render annotations in the diff correctly.\n3. You can't use --version with multiple gems. You can specify multiple gems with version requirements using `gem install 'my_gem:1.0.0' 'my_other_gem:~\u003e2.0.0'`\n\n## :camera_flash: Screenshots\n\n\u003cdiv style=\"margin-bottom:1rem;\"\u003e\n\n![HAML Lint Checks Overview](screenshots/check-overview.png)\n\u003c/div\u003e\n\n![HAML Lint File Annotation](screenshots/file-annotation.png)\n\n## :bookmark: Changelog\n\n[View our Changelog](/CHANGELOG.md)\n\n## :sos: Contributing\n\n[Contributing Guide](/CONTRIBUTING.md)\n\n## :rotating_light: Code of Conduct\n\n[Code of Conduct](/CODE_OF_CONDUCT.md)\n\n## :copyright: License\n\n[MIT](/LICENSE.md)\n\n## :robot: Check Out My Other Ruby GitHub Actions\n\n- [andrewmcodes/rubocop-linter-action](https://github.com/andrewmcodes/rubocop-linter-action).\n- [andrewmcodes/standardrb-action](https://github.com/andrewmcodes/standardrb-action).\n\n## ✨ Contributors\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.andrewmason.me/\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/18423853?v=4\" width=\"100px;\" alt=\"Andrew Mason\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrew Mason\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#infra-andrewmcodes\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/andrewmcodes/haml-lint-action/commits?author=andrewmcodes\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/andrewmcodes/haml-lint-action/commits?author=andrewmcodes\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.chris-pezza.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/5841177?v=4\" width=\"100px;\" alt=\"Christopher Pezza\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristopher Pezza\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/andrewmcodes/haml-lint-action/commits?author=chiefpansancolt\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/andrewmcodes/haml-lint-action/commits?author=chiefpansancolt\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#infra-chiefpansancolt\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#review-chiefpansancolt\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewmcodes%2Fhaml-lint-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewmcodes%2Fhaml-lint-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewmcodes%2Fhaml-lint-action/lists"}