I'm looking at automating the ZitaFTP release process a bit more, and also uploading it to the aminet. Has anyone written a script/tool to help generate aminet readme's? Preferably a bash/python script, or something else that's cross platform.
Ideally, here's how it would work:
- There's a template with the basic info that doesn't change (e.g., name, brief description). Or, it could be stored in a JSON file (or similar)
- The script would update the version number by reading the current version number from the program (or the *.lha archive name, which has the form
- The script would extract the latest changes from "Release Notes.txt," pulling out the changes since the last upload
- Bonus: upload the archive and readme to aminet (e.g., using curl)
With small tweaks, the same script could be used to upload to os4depot as well. It has a similar upload process to aminet, but slightly different readme requirements.
Hans
I think Report+ from James Jacobs has that functionality in it.
@Steady
True, but it's not cross-platform, nor can you use it to auto-generate readme's from a script.
Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
@Hans
What I am doing with my aiostreams CI/CD, where I automatically deploy a release to both Aminet and os4depot, is to use sed to change a placeholder in the readme templates
For now, I do it on os4depot.readme file (https://github.com/walkero-gr/aiostreams/blob/master/os4depot.readme) where I set on release the OS4DEPOT_PASSPHRASE from a secret variable I have in the CI/CD platform I use
You can see how I do the replacement at:
https://github.com/walkero-gr/aiostreams/blob/master/.drone.yml#L106
and then I upload the release file and the readme, using FTP, to os4depot. The same way could be done to change automatically the version, although that's something I haven't done yet.
That release job is initiated when I create a new git tag, where I set the release version. So, this can be used as the version string inside the files. By doing that, you don't need to get the version anywhere else.
That is possible to be done with bash script/line, which can put it again with sed into the readme template. I do not have something like that right now to show you.
The CI/CD platform I use is based on docker almost completely. So I use docker containers to do the FTP upload. I think that any CI/CD platform that supports docker containers, and most of them do, can use the same images as the ones I use.
At https://github.com/walkero-gr/aiostreams/blob/master/.drone.yml#L80-L96 I prepare the Aminet release and do the upload, and at https://github.com/walkero-gr/aiostreams/blob/master/.drone.yml#L97-L117 I do the same for os4depot. This works fine everytime.
@walkero
Thanks. I'll check out your scripts.
Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work