{"id":14985286,"url":"https://github.com/ktibow/ha-blueprint","last_synced_at":"2025-04-10T23:50:40.885Z","repository":{"id":52282133,"uuid":"294993807","full_name":"KTibow/ha-blueprint","owner":"KTibow","description":"General purpose CI action for custom components/cards","archived":false,"fork":false,"pushed_at":"2022-09-12T01:56:47.000Z","size":115,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T12:06:13.631Z","etag":null,"topics":["black","cards","ci","custom-component","custom-integration","github-action","hacs","home-assistant","integration","integration-testing","integration-tests","isort","javascript","js","prettier","python","python3","ts","typescript"],"latest_commit_sha":null,"homepage":"","language":"Python","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/KTibow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://saythanks.io/to/kendell.r%40outlook.com","https://community.home-assistant.io/t/235041?u=ktibow"]}},"created_at":"2020-09-12T17:34:05.000Z","updated_at":"2024-01-01T20:10:56.000Z","dependencies_parsed_at":"2023-01-11T17:23:13.784Z","dependency_job_id":null,"html_url":"https://github.com/KTibow/ha-blueprint","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTibow%2Fha-blueprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTibow%2Fha-blueprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTibow%2Fha-blueprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KTibow%2Fha-blueprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KTibow","download_url":"https://codeload.github.com/KTibow/ha-blueprint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317707,"owners_count":21083528,"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","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":["black","cards","ci","custom-component","custom-integration","github-action","hacs","home-assistant","integration","integration-testing","integration-tests","isort","javascript","js","prettier","python","python3","ts","typescript"],"created_at":"2024-09-24T14:10:39.369Z","updated_at":"2025-04-10T23:50:40.868Z","avatar_url":"https://github.com/KTibow.png","language":"Python","funding_links":["https://saythanks.io/to/kendell.r%40outlook.com","https://community.home-assistant.io/t/235041?u=ktibow"],"categories":[],"sub_categories":[],"readme":"# ha-blueprint\n## Warning\n```\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n!        ha-blueprint is being retired, it has way too many issues with it        !\n! please manually use hassfest and hacs in actions, ping @KTibow if you want help !\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n```\nThis is a GitHub Action for advanced Home Assistant CI. Whenever you push to your repo, this will happen:\n- It'll format it (black + isort for python, prettier for js)\n  - It'll go ahead and pull it, format it, and amend the changes to the last commit.\n- It'll lint it\n  - JS: Run ESLint to catch syntax errors\n  - Python: It runs Hassfest (to catch invalid integrations), HACS (to catch invalid HACS integrations), and flake8 (to catch invalid python).\n\nThanks [https://github.com/custom-components/blueprint] for the blueprint.\nAdd this file to `.github/workflows/combined.yaml`:\n```\nname: \"Validation And Formatting\"\non:\n  push:\n  pull_request:\n  schedule:\n    - cron: '0 0 * * *'\njobs:\n  ci:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n        name: Download repo\n        with:\n          fetch-depth: 0\n      - uses: actions/setup-python@v2\n        name: Setup Python\n        with:\n          python-version: '3.8.x'\n      - uses: actions/cache@v2\n        name: Cache\n        with:\n          path: |\n            ~/.cache/pip\n          key: custom-component-ci\n      - uses: hacs/action@main\n        with:\n          CATEGORY: integration\n      - uses: KTibow/ha-blueprint@stable\n        name: CI\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\n## Some notes:\n- Change the CATEGORY to plugin if it's a JS card or plugin instead of an integration.\n- Remove this block to disable HACS validation:\n```\n      - uses: hacs/action@main\n        with:\n          CATEGORY: integration\n```\n- Change\n```\n      - uses: KTibow/ha-blueprint@stable\n        name: CI\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n```\nto\n```\n      - uses: KTibow/ha-blueprint@stable\n        name: CI\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n          FORMAT_CODE: DISABLED\n```\nto disable code formatting.\n- Set `HASSFEST` to `DISABLED` to disable hassfest\n- Set `FLAKE8_FAILS` to customize stuff that the run fails on\n\nHere's an example log run: https://github.com/KTibow/ha-blueprint/runs/1244330084?check_suite_focus=true\n\n\u003cdetails\u003e\u003csummary\u003eyou don't need to click and expand this\u003c/summary\u003e\n\nneed a badge? no worries.  \nhttps://img.shields.io/github/workflow/status/KTibow/ha-blueprint/Validation%20And%20Formatting?logoColor=white\u0026label=way%20too%20much%20validation\u0026logo=github-actions\u0026style=flat-square\u0026logoWidth=25\u0026labelColor=black  \n  \nchange `KTibow/ha-blueprint/Validation%20And%20Formatting` to the name of your repo and workflow.  \n  \nlink back in markdown if you want.  \n\ngive me a thanks [here](https://saythanks.io/to/kendell.r%40outlook.com)  \n  \ngive me a heart [here](https://community.home-assistant.io/t/235041?u=ktibow)  \n\nor just give me a star  \n\ni'm going to assume you've done that and thank you for letting me know that this is a worthwile thing.  \n\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktibow%2Fha-blueprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fktibow%2Fha-blueprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fktibow%2Fha-blueprint/lists"}