-
Notifications
You must be signed in to change notification settings - Fork 168
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
cmd-build: Refactor to support multiple artifact types #302
Conversation
(This will conflict with #299 - I'm fine rebasing if that lands first) |
A few next steps on this:
Proposed target names: |
Weren't we moving towards specifying the artifact types we want in an |
I think we may want both; it'd be convenient for development to be able to do e.g. |
Per discussion I think we want a |
My bad that I didn't see this PR early today, I opened a FCOS ticket on the same topic as this PR: coreos/fedora-coreos-tracker#142 |
0e1a422
to
83e63bd
Compare
Rebased 🏄♂️ though I didn't test the rebase yet. |
83e63bd
to
a83f524
Compare
OK now rebased again 🏄♂️ and tested. Would be nice to get this in as the rebase pain is adding up. |
a83f524
to
dfc08ea
Compare
Change the code so that it's prepared to handle e.g.: `coreos-assembler build qemu metal-uefi metal-bios openstack`. There's more work we'll need to do for adding any more image types, this just lays the groundwork.
dfc08ea
to
3da6892
Compare
OK, now passing shellcheck. |
I'm often just iterating on the OSTree content itself and don't require new images. In such cases, it's a waste of time to wait for images to be generated when all I want is the treecompose. But using `coreos-assembler build` is still more convenient than dropping down to `rpm-ostree compose tree`, especially with the virtualization wrapper. Add a new `--no-images` option in which we only generate a commit to the OSTree repo. This is a natural extension of coreos#302. Crucially though, we still create a build directory under `builds/` with metadata about the built commit. The only practical difference is that there are no image files and no subkeys under `images` in `meta.json`. (I didn't bother breaking the idempotency coupling here wrt the kickstart since (1) it's going away, and (2) this is really just for the local dev case where you're iterating on the tools, like rpm-ostree, or the content, like the treefile.)
I'm often just iterating on the OSTree content itself and don't require new images. In such cases, it's a waste of time to wait for images to be generated when all I want is the treecompose. But using `coreos-assembler build` is still more convenient than dropping down to `rpm-ostree compose tree`, especially with the virtualization wrapper. Add a new `--ostree-only` option in which we only generate a commit to the OSTree repo. This is a natural extension of coreos#302. Crucially though, we still create a build directory under `builds/` with metadata about the built commit. The only practical difference is that there are no image files and no subkeys under `images` in `meta.json`. (I didn't bother breaking the idempotency coupling here wrt the kickstart since (1) it's going away, and (2) this is really just for the local dev case where you're iterating on the tools, like rpm-ostree, or the content, like the treefile.)
I'm often just iterating on the OSTree content itself and don't require new images. In such cases, it's a waste of time to wait for images to be generated when all I want is the treecompose. But using `coreos-assembler build` is still more convenient than dropping down to `rpm-ostree compose tree`, especially with the virtualization wrapper. Change the concept of `IMAGETYPES` to `TARGETS` and add a new `ostree` target for which we only generate a commit to the OSTree repo. This is a natural extension of coreos#302. Crucially though, we still create a build directory under `builds/` with metadata about the built commit. The only practical difference is that there are no image files and no subkeys under `images` in `meta.json`. (I didn't bother breaking the idempotency coupling here wrt the kickstart since (1) it's going away, and (2) this is really just for the local dev case where you're iterating on the tools, like rpm-ostree, or the content, like the treefile.)
Change the code so that it's prepared to handle e.g.:
coreos-assembler build qemu metal-uefi metal-bios openstack
.There's more work we'll need to do for adding any more image
types, this just lays the groundwork.