Poeschl-HomeAssistant-Addons/repository

Migrate addons from mono-repository to multiple

Poeschl opened this issue · 1 comments

During migration no stable usage is guaranteed

  • Extract 2 addons from main repository
  • Make the CI work for them (linting, version check, changelog check, ...)
  • Use podman to build the images
  • Build the image as parallel as possible
  • Extract workflows from them into separate repository
  • Create CI workflow to release main branch of addon to main repository and transfer contents there

Migrate addons:

  • MaryTTS
  • OWASP-ZAP
  • ICantBeliveItsNotValetudo
  • asterisk
  • container-stats
  • git-exporter
  • juice-shop
  • mitmproxy
  • mopidy
  • mpd
  • picoTTS
  • pigpio
  • pixelflut
  • rsync-local
  • rsync
  • syncthing
  • valetudo-wrapper
  • vnc-viewer
  • ympd

_

  • Publish org packages and adjust addon repository settings (script?)
  • Change addons in mono-repository with information about new repository.
  • Remove ha- image from personal account
  • Update old addons with a notification mechanism

Update forum entries:

  • MaryTTS
  • OWASP-ZAP
  • ICantBeliveItsNotValetudo
  • container-stats
  • git-exporter
  • juice-shop
  • mitmproxy
  • mopidy
  • mpd
  • picoTTS
  • pigpio
  • rsync-local
  • rsync
  • syncthing
  • valetudo-wrapper
  • vnc-viewer
  • ympd

Migration steps for a addon:

  1. Create addon repository online
  2. Move addon folder from mono-repository in own repository in a folder named like the slug
  3. Copy over .github from a already migrated addon (adjust dependabot config)
  4. Copy over all checker dot files from a already migrated addon
  5. Add / copy Licence file from a already migrated addon
  6. Adjust url and docker image inside <slug>/config.yaml to https://github.com/Poeschl-HomeAssistant-Addons/... and ghcr.io/poeschl-homeassistant-addons/<slug>-{arch} and version to dev
  7. Rename <slug>/README.md into <slug>/.README.j2 and adjust content to the template like in a previous migrated addon
  8. Create README.md in addon root with the basic information and style from a previous migrated addon. (Adjust install url and addon id)
  9. Add new addon repository into .addon.yml in Poeschl-HomeAssistant-Addons/repository and Poeschl-HomeAssistant-Addons/repository-edge and push the changes (Push the addon folder removal seperate)
  10. Commit new local repository, but leave <slug>/Changelog.md out
  11. Push everything to new online repository
  12. After CI runs the first time successfully, publish the release and insert the past Changelog.md content in the description with the header
    Note: this is the full changelog of the versions deployed via the [previous mono-repository](https://github.com/Poeschl-HomeAssistant-Addons/repository/tree/41c02f85a6fffb328c21df76ace4e54ad0ee3466).
    
  13. Check if the addon appears successfully in Poeschl-HomeAssistant-Addons/repository and Poeschl-HomeAssistant-Addons/repository-edge
  14. Wait until images are pushed for the first time
  15. Transfer all image from old repository to new addon repository with the script in Poeschl-HomeAssistant-Addons/workflows