{"id":15513140,"url":"https://github.com/julianrubisch/attractor-action","last_synced_at":"2026-01-21T10:11:37.452Z","repository":{"id":65160400,"uuid":"228016978","full_name":"julianrubisch/attractor-action","owner":"julianrubisch","description":"A Github action to run an Attractor report on your project","archived":false,"fork":false,"pushed_at":"2019-12-20T11:16:15.000Z","size":40,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-24T21:02:38.960Z","etag":null,"topics":["code-quality","github-action","javascript","rails","react","ruby","vue"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/julianrubisch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-14T12:10:11.000Z","updated_at":"2024-08-14T08:24:35.000Z","dependencies_parsed_at":"2023-01-13T15:43:54.033Z","dependency_job_id":null,"html_url":"https://github.com/julianrubisch/attractor-action","commit_stats":{"total_commits":30,"total_committers":3,"mean_commits":10.0,"dds":"0.16666666666666663","last_synced_commit":"d766a8e294d0b45cda7d262c34d18bb28f76f64b"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/julianrubisch/attractor-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianrubisch%2Fattractor-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianrubisch%2Fattractor-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianrubisch%2Fattractor-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianrubisch%2Fattractor-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julianrubisch","download_url":"https://codeload.github.com/julianrubisch/attractor-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianrubisch%2Fattractor-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28631936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["code-quality","github-action","javascript","rails","react","ruby","vue"],"created_at":"2024-10-02T09:54:06.965Z","updated_at":"2026-01-21T10:11:37.431Z","avatar_url":"https://github.com/julianrubisch.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Attractor Action \u003cimg src=\"https://user-images.githubusercontent.com/4352208/65411858-3dc84200-ddee-11e9-99b6-c9cdbeb533c5.png\" width=\"24\"\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\nA Github action to run an [Attractor](https://github.com/julianrubisch/attractor) report on your project.\n\n## Table of Contents\n\n  * [Usage](#usage)\n  * [Example Workflow](#example-workflow)\n  * [Inputs](#inputs)\n  * [License](#license)\n  * [Contributors](#contributors)\n\n## Usage\nAdd the following to your GitHub action workflow to use Attractor Action:\n\n```yml      \n- name: Run Attractor\n  uses: julianrubisch/attractor-action@master\n  with:\n    version: 'latest'\n    bundle: 'false'\n    (file_prefix: 'app/models') - OPTIONAL\n    (javascript: '(true|false)') - OPTIONAL\n```\n\n## Example Workflow\n\nThe workflow below simply saves the `attractor_output` directory to a build artifact.\n\n```yml\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n      with: \n        fetch-depth: '0'     # IMPORTANT!\n    - name: Run Attractor\n      uses: julianrubisch/attractor-action@master\n      with:\n        version: 'latest'\n        bundle: 'false'\n        (file_prefix: 'app/models') # OPTIONAL\n        (javascript: '(true|false)') # OPTIONAL\n    - name: Upload Artifact\n      uses: actions/upload-artifact@v1\n      if: success()\n      with:\n        name: attractor\n        path: attractor_output\n```\n\nAlternatively, you could upload it to an AWS bucket, deploy it on Netlify,... you name it! PRs documenting usage are very welcome!\n\n\nIt's **compulsory** to set the `fetch-depth` attribute on the checkout action to `0`, otherwise only the `HEAD` commit will be fetched, rendering the `churn` output useless (we need the full history).\n\n## Inputs\n\n| **Input Parm Name** | **Required** | **Default Value** | **Description**                                                                                       | **Examples of Equivalent Local Commands**                                  |\n| ------------------- | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |\n| bundle              | false        | false             | If you would like to run `bundle install` on your project instead of `gem install`                    | `bundle install --deployment --jobs 4 --retry 3`                           |\n| version             | false        | latest GA         | Define a different version of attractor                                              | `gem install attractor -v 1.0.0`                                            |\n| file_prefix         | false        | ''                | Specify a director (defaults to app root) | `attractor report --file-prefix app/models` |\n| javascript          | false        | false             | Set this to true if you would like to check javascript | `attractor report -t js` |\n\n## License\n\nMIT\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-start --\u003e\n\u003c!-- markdownlint-disable --\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=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrew Mason\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/julianrubisch/attractor-action/commits?author=andrewmcodes\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://www.julianrubisch.at\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/4352208?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJulian Rubisch\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/julianrubisch/attractor-action/commits?author=julianrubisch\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\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%2Fjulianrubisch%2Fattractor-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulianrubisch%2Fattractor-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianrubisch%2Fattractor-action/lists"}