-
Notifications
You must be signed in to change notification settings - Fork 24
Git packaging workflow for Salt #105
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
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like this approach more than what I proposed in #96. It is aligned with the new TW / SLE16 workflow.
Just raised some initial notes for now.
|
||
Files moved to Salt repository: | ||
- pkg/suse/README.SUSE | ||
- pkg/suse/html.tar.bz2 ??? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what feeds the salt-doc
package. We use to create this tarball when bumping to a next major version by compiling the documentation locally.
In the past, compiling the documentation during build time was causing problems and that's why it was compilled locally and provided via tarball.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll check if we still have issues compiling at build time. We could have the tarball in git lfs if that causes issues.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the past, it was tricky to build doc during buildtime in all different OSes where we were building the classic package (as sphinx version and deps were not compatible in some of them).
accepted/0000-git-salt-packaging.md
Outdated
- `sles15sp5` (code stream, src.suse.de) | ||
- `sles15sp6` (code stream, src.suse.de) | ||
- `sles15sp7` (code stream, src.suse.de) | ||
- `next` (why?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is where the D:G:M:Head
points to, so devel Salt for the next MLM version.
I think we should keep it. We could think on using factory
here instead, but I think having next
gives us more flexibilty in the scope of MLM, as it could be that saltstack/salt
has different cadence (version) than the one we want for our future MLM version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the question is if we want to have a separate cadence. We currently have two devel codestreams, next
and factory
, but only work on one at a time. I'm not sure if it's useful to keep two.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO one of the benefits of having a separated next
environment is that it allows us to put a devel/unstable package there (usually next major version), where we also execute the acceptance CI on it, allowing us to catch possible issues there without touching the obs://systesmanagement/saltstack/
package.
That way, we keep the factory
branch and the package at obs://systesmanagement/saltstack/
being always "stable", where we don't use it for testing unstable-next-versions of salt package.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package in systemsmanagement:saltstack is the devel package. The non-devel package is in openSUSE:Factory. I don't really see the need to have two devel code streams. When 3008 is available, we should bring it to openSUSE:Factory as soon as possible (via systemsmanagement:saltstack). Using another location and then copying it over is only useful if we want to release other updates in between.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been thinking about the branch setup and one part I didn't know about when I wrote the RFC is the organization on src.opensuse.org for the distributions. I think we'll have actually two repos: pool/salt
which is the place that distros pick the package from and a fork in our own organization (e.g. salt/salt
). The latter is only needed to easily test Salt together with Salt extensions, at a different pace than we create package-level SRs.
With the fork in place, we essentially have a devel branch for each product/release branch
Package git: One repository with different branches (see below). The repository contains | ||
openSUSE/salt as a Git submodule. | ||
The canonical package git for distribution code streams will be `pool/salt`. We will have | ||
a devel organisation, with a fork of `pool/salt`: `salt/salt`. Our fork containes the same |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Branches of pool/salt
for src.opensuse.org
and src.suse.de
are described below, but the purpose of salt/salt
and it's branches is not described. Should we have it described here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Our fork contains the same set of branches as
pool/salt
and is used to test and develop Salt together with extensions.
That's what I currently have, what would make this clearer to you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case better to change Our
to This
, maybe it was caused my question here as now when you pointed to it, it became clear, but originally most probably I was confused what Our fork
means, maybe it was expanded in my brain to openSUSE/salt
in github :-D
Alternative to #96
Rendered at https://github.com/agraul/uyuni-rfc/blob/git-packaging-workflow-salt/accepted/0000-git-salt-packaging.md
Examples:
salt/_ObsProj
at its real location)