-
-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release-tools/publish-releases.sh: New script, to publish staged releases #147
Conversation
release-tools/publish-release.sh is untested, but should still be |
I've realized that |
4fe4a74
to
13f1b4b
Compare
In all my tests, publish-releases.sh now works properly. However, we haven't really answered how this will fit with the policy |
The e-mail announcement for premium releases needs to be changed to something like this:
|
That's a change that's associated with the stage-release script, as that's the one that creates these announcement texts. Raise a separate issue for it, as it doesn't belong in this PR. |
OK #157 |
Unfortunately, this isn't ready yet. Some of the logic isn't quite right... |
I had hoped to finish this today. Unfortunately, I stumbled on |
…ases This replaces the old do_release.pl, and works with the .dat files that stage-release.sh produces to get all the information necessary. By design, this script only handles one type of staged releases per run; 'public', 'premium' and 'security' are staged release types, and they affect the staging repository that's used. Upload locations / repositories are determined from the version number of each staged release, unless given on the command line. Any set of release files that don't fit the chosen staged release type will simply be ignored. The following updates are performed: - the source repository is updated with release commits and tag - a github release is created in the appropriate repository - the release files are copied to the appropriate file service directory - omc/data is updated with added lines in newsflash.txt The extra work surrounding security advisories is not performed by this script at this stage. That's left for later development. This also updates release-tools/stage-release.sh to add version information to the metadata file that release-tools/publish-release.sh can depend on.
…ables This makes it possible to setup a test environment for staging and publishing. This also modifies stage-release.sh's option --staging-address to --staging-location, to reflect that it may also be a local directory.
This is now ready for review. I haven't tested everything yet, and am |
Of course, it's at this time that I'm realising some options aren't |
Change made, and this looks more sane to me |
This was useful once, but isn't any more. Setting appropriate environment variables has the same effect, and is easier to handle.
Signing of release files and tags is now only done if it hasn't been done by stage-release.sh.
… and 'security' Having the staging types 'public', 'premium' and 'security' was nonsense, we don't really have that sort of division. 'ordinary' and 'security' staging makes more sense for what we do, and that leaves it to the script to fully determine for each version being released if it should become a public or a premium release.
gpg is very annoying with how it prompts for pass phrases. However, it's possible to tell it to use the terminal with '--pinentry-mode loopback'. In turn, git is annoying with how one can't specify gpg options directly; instead, a small script that does the right thing is produced, and passed to git with the gpg.program config option.
Looks like not needed. Candidate to be dropped. |
I'm happy to drop it. Something I realised on last release is that producing the draft release on github should probably be part of staging a release, leaving only pushing "Publish Release" to actual publication... |
Became irrelevant. |
This replaces the old do_release.pl, and works with the .dat files that
stage-release.sh produces to get all the information necessary.
By design, this script only handles one type of staged releases per run;
'public', 'premium' and 'security' are staged release types, and they affect
the staging repository that's used. Upload locations / repositories are
determined from the version number of each staged release, unless given on
the command line.
Any set of release files that don't fit the chosen staged release type will
simply be ignored.
The following updates are performed:
The extra work surrounding security advisories is not performed by this
script at this stage. That's left for later development.
This also updates release-tools/stage-release.sh to add version information
to the metadata file that release-tools/publish-release.sh can depend on.