From 13b49bdb7f298c9815d8bd00db8a7c4ff3960f8a Mon Sep 17 00:00:00 2001 From: soloam <11949987+soloam@users.noreply.github.com> Date: Wed, 8 May 2024 13:42:40 +0100 Subject: [PATCH 1/3] Release preparation --- .github/labels.yml | 51 +++++++++++++++ .github/release-drafter.yml | 64 +++++++++++++++++++ .github/workflows/build.yaml | 30 +++++++++ .github/workflows/hacs.yaml | 18 ++++++ .github/workflows/hassfest.yaml | 15 +++++ .github/workflows/manage_labels.yaml | 17 +++++ .github/workflows/release-drafter.yaml | 18 ++++++ README.md | 60 ++++++++--------- .../fireflyiii_integration/manifest.json | 4 +- 9 files changed, 243 insertions(+), 34 deletions(-) create mode 100644 .github/labels.yml create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/build.yaml create mode 100644 .github/workflows/hacs.yaml create mode 100644 .github/workflows/hassfest.yaml create mode 100644 .github/workflows/manage_labels.yaml create mode 100644 .github/workflows/release-drafter.yaml diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..6cd349e --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,51 @@ +- name: breaking_change + description: Breaking Change + color: f44336 + +- name: bug + description: Something isn't working + color: f9877f + +- name: fix + description: Something isn't working + color: f9877f + +- name: bugfix + description: Something isn't working + color: f9877f + +- name: feature + description: New feature or request + color: a2eeef + +- name: enhancement + description: New feature or request + color: a2eeef + +- name: documentation + description: Improvements or additions to documentation + color: 0075ca + +- name: dependencies + description: Pull requests that update a dependency file + color: 0366d6 + +- name: github structure + description: Pull requests that update Github actions/workflow code + color: "000000" + +- name: help wanted + description: Extra attention is needed + color: 008672 + +- name: major + description: Major changes. Used for release bump + color: 16970B + +- name: minor + description: Minor changes. Used for release bump + color: 16970B + +- name: patch + description: Patch changes. Used for release bump + color: 16970B diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..a0526a2 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,64 @@ +name-template: "v$RESOLVED_VERSION" +tag-template: "v$RESOLVED_VERSION" +categories: + - title: "📣 Breaking Changes" + labels: + - "breaking_change" + - title: "🚀 Features" + labels: + - "feature" + - "enhancement" + - title: "🐛 Bug Fixes" + labels: + - "fix" + - "bugfix" + - "bug" + - title: "🧰 Maintenance" + labels: + - "maintenance" + - title: "📚 Documentation" + labels: + - "documentation" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +change-title-escapes: '\<*_&' +version-resolver: + major: + labels: + - "major" + - "breaking_change" + minor: + labels: + - "minor" + - "feature" + - "enhancement" + patch: + labels: + - "patch" + - "fix" + - "bugfix" + - "bug" + - "maintenance" + - "documentation" + default: patch +autolabeler: + - label: "github structure" + files: + - ".github/*" + - label: "documentation" + files: + - "*.md" + - label: "bug" + title: + - "/\\[?(bug)\\]?.*/i" + - label: "bugfix" + title: + - "/\\[?(fix)\\]?.*/i" + - label: "feature" + title: + - "/\\[?(add|feat)\\]?.*/i" + - label: "feature" + title: + - "/\\[?(breaking)\\]?.*/i" +template: | + ## Changes + $CHANGES diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..de94593 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,30 @@ +name: Build + +on: + release: + types: [published] + +jobs: + build: + name: Build Release + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Get version + id: version + uses: home-assistant/actions/helpers/version@master + + - name: Patch manifest and zip + run: | + sed -i 's/0.0.0/${{ steps.version.outputs.version }}/' custom_components/fireflyiii_integration/manifest.json + cd custom_components/fireflyiii_integration/ + zip ../../fireflyiii_integration.zip -r ./ + - uses: svenstaro/upload-release-action@master + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ./fireflyiii_integration.zip + asset_name: fireflyiii_integration.zip + tag: ${{ github.ref }} + overwrite: true diff --git a/.github/workflows/hacs.yaml b/.github/workflows/hacs.yaml new file mode 100644 index 0000000..ef8c365 --- /dev/null +++ b/.github/workflows/hacs.yaml @@ -0,0 +1,18 @@ +name: HACS + +on: + push: + pull_request: + schedule: + - cron: "0 0 * * *" + +jobs: + validate: + runs-on: "ubuntu-latest" + name: HACS + steps: + - uses: "actions/checkout@v2" + - name: HACS validation + uses: "hacs/action@main" + with: + CATEGORY: "integration" diff --git a/.github/workflows/hassfest.yaml b/.github/workflows/hassfest.yaml new file mode 100644 index 0000000..1083e51 --- /dev/null +++ b/.github/workflows/hassfest.yaml @@ -0,0 +1,15 @@ +name: Validate with hassfest + +on: + push: + pull_request: + schedule: + - cron: "0 0 * * *" + +jobs: + validate: + name: Validate with hassfest + runs-on: "ubuntu-latest" + steps: + - uses: "actions/checkout@v2" + - uses: home-assistant/actions/hassfest@master diff --git a/.github/workflows/manage_labels.yaml b/.github/workflows/manage_labels.yaml new file mode 100644 index 0000000..36acbb2 --- /dev/null +++ b/.github/workflows/manage_labels.yaml @@ -0,0 +1,17 @@ +name: Manage labels + +on: + push: + branches: + - master + +jobs: + labeler: + name: Update Labels + runs-on: ubuntu-latest + steps: + - name: Check out the repository + uses: actions/checkout@v2.4.0 + + - name: Run Labeler + uses: crazy-max/ghaction-github-labeler@v3.1.1 diff --git a/.github/workflows/release-drafter.yaml b/.github/workflows/release-drafter.yaml new file mode 100644 index 0000000..3723cac --- /dev/null +++ b/.github/workflows/release-drafter.yaml @@ -0,0 +1,18 @@ +name: Release Drafter + +on: + push: + branches: + - master + + pull_request: + types: [opened, reopened, synchronize] + +jobs: + update_release_draft: + name: Release Drafter + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index 6d3df64..221d856 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,13 @@ -# THIS IS A WORK IN PROGRESS USE AT YOUR OWN RISK!!!!!!! - -# REPORT BUGS AND SUGGEST IMPROVEMENTS!!!! - -#### Some of the concluded features can change durring Beta - -# BETA ROADMAP - -- [x] Config Flow \* -- [x] Categories -- [x] Accounts -- [x] Bills in calendar -- [x] Import Piggy Banks -- [x] Import Budgets -- [ ] Services -- [ ] Add to HACS - -# Planned Improvements - -- [ ] Translations -- [ ] Auto create Webhooks in FireflyIII -- [ ] Handle Webhooks to instant response -- [ ] Tests - -\* - Please note that I’ll not be retrofitting configs to versions until its final! So on some releases of beta I’ll add to the release notes a information to delete the integration and add it again. No need to remove from HACS, just remove from Home Assistant and make the config again! - -Feedbacks are more than welcome, also feature requests. - -# - -# - # FireflyIII Integration _Component to integrate with [FireflyIII][fireflyiii]._ [fireflyiii]: https://www.firefly-iii.org/ +This is a custom component developed by me to integrate FireflyIII with Home Assistant, this project is independent from the great work done by James Cole in FireflyIII + +[![gh_release](https://img.shields.io/github/v/release/soloam/ha-fireflyiii-integration)](../../releases) [![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://github.com/hacs/integration) [![gh_last_commit]](../../commits/master) [![buy_coffee_badge]](https://www.buymeacoffee.com/soloam) + **This component will set up the following platforms.** | Platform | Description | @@ -73,3 +45,27 @@ You probably do not want to do this! Use the HACS method above unless you know w ## Configuration is done in the UI + +# Planned Improvements + +- [ ] Services +- [ ] Translations +- [ ] Auto create Webhooks in FireflyIII +- [ ] Handle Webhooks to instant response +- [ ] Tests + +\* - Please note that I’ll not be retrofitting configs to versions until its final! So on some releases of beta I’ll add to the release notes a information to delete the integration and add it again. No need to remove from HACS, just remove from Home Assistant and make the config again! + +Feedbacks are more than welcome, also feature requests. + +# References + +- FieflyIII - https://www.firefly-iii.org/ + +# I just love coffee and beer + +[![buy_coffee]](https://www.buymeacoffee.com/soloam) + +[gh_last_commit]: https://img.shields.io/github/last-commit/soloam/ha-fireflyiii-integration +[buy_coffee]: https://www.buymeacoffee.com/assets/img/custom_images/white_img.png +[buy_coffee_badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%F0%9F%8D%BA-lightgrey diff --git a/custom_components/fireflyiii_integration/manifest.json b/custom_components/fireflyiii_integration/manifest.json index 6bdd4c3..998a78c 100644 --- a/custom_components/fireflyiii_integration/manifest.json +++ b/custom_components/fireflyiii_integration/manifest.json @@ -6,6 +6,6 @@ "dependencies": [], "documentation": "https://github.com/soloam/ha-fireflyiii-integration", "iot_class": "cloud_polling", - "requirements": ["aiohttp", "babel","datetimerange"], - "version": "1.0.0" + "requirements": ["aiohttp", "babel", "datetimerange"], + "version": "0.0.0" } From c544e5ba7f141122fd39356612dab3623b5e1e44 Mon Sep 17 00:00:00 2001 From: soloam <11949987+soloam@users.noreply.github.com> Date: Wed, 8 May 2024 13:45:12 +0100 Subject: [PATCH 2/3] Update HACS file --- hacs.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hacs.json b/hacs.json index 6c7e439..5c28e10 100644 --- a/hacs.json +++ b/hacs.json @@ -1,5 +1,8 @@ { "name": "FireflyIII Integration", + "zip_release": true, "homeassistant": "2024.1.0b0", - "render_readme": true + "render_readme": true, + "persistent_directory": "codes", + "filename": "fireflyiii_integration.zip" } From e064a39687752d90d9e46f8a63d13daffbc2903d Mon Sep 17 00:00:00 2001 From: soloam <11949987+soloam@users.noreply.github.com> Date: Wed, 8 May 2024 13:47:39 +0100 Subject: [PATCH 3/3] Update manifest file --- custom_components/fireflyiii_integration/manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom_components/fireflyiii_integration/manifest.json b/custom_components/fireflyiii_integration/manifest.json index 998a78c..c74266c 100644 --- a/custom_components/fireflyiii_integration/manifest.json +++ b/custom_components/fireflyiii_integration/manifest.json @@ -7,5 +7,6 @@ "documentation": "https://github.com/soloam/ha-fireflyiii-integration", "iot_class": "cloud_polling", "requirements": ["aiohttp", "babel", "datetimerange"], - "version": "0.0.0" + "version": "0.0.0", + "issue_tracker": "https://github.com/soloam/ha-fireflyiii-integration/issues" }