Migrate addons from mono-repository to multiple
Poeschl opened this issue · 1 comments
Poeschl commented
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
Poeschl commented
Migration steps for a addon:
- Create addon repository online
- Move addon folder from mono-repository in own repository in a folder named like the slug
- Copy over
.github
from a already migrated addon (adjust dependabot config) - Copy over all checker dot files from a already migrated addon
- Add / copy Licence file from a already migrated addon
- Adjust url and docker image inside
<slug>/config.yaml
tohttps://github.com/Poeschl-HomeAssistant-Addons/...
andghcr.io/poeschl-homeassistant-addons/<slug>-{arch}
and version todev
- Rename
<slug>/README.md
into<slug>/.README.j2
and adjust content to the template like in a previous migrated addon - Create
README.md
in addon root with the basic information and style from a previous migrated addon. (Adjust install url and addon id) - Add new addon repository into
.addon.yml
inPoeschl-HomeAssistant-Addons/repository
andPoeschl-HomeAssistant-Addons/repository-edge
and push the changes (Push the addon folder removal seperate) - Commit new local repository, but leave
<slug>/Changelog.md
out - Push everything to new online repository
- After CI runs the first time successfully, publish the release and insert the past
Changelog.md
content in the description with the headerNote: this is the full changelog of the versions deployed via the [previous mono-repository](https://github.com/Poeschl-HomeAssistant-Addons/repository/tree/41c02f85a6fffb328c21df76ace4e54ad0ee3466).
- Check if the addon appears successfully in
Poeschl-HomeAssistant-Addons/repository
andPoeschl-HomeAssistant-Addons/repository-edge
- Wait until images are pushed for the first time
- Transfer all image from old repository to new addon repository with the script in
Poeschl-HomeAssistant-Addons/workflows