Conversation
976adbe to
e87d261
Compare
15e1a9d to
ea0cec8
Compare
ea0cec8 to
c268f01
Compare
c268f01 to
4976812
Compare
This is because it is being used in other TrenchBoot repos as well but on other branches because of: TrenchBoot/grub#32 TrenchBoot/qubes-antievilmaid#15 TrenchBoot/xen#26 IMHO there is no reason to mention every use of this workflow. Signed-off-by: Danil Klimuk <[email protected]>
4976812 to
445d8b0
Compare
This is because it is being used in other TrenchBoot repos as well but on other branches because of: TrenchBoot/grub#32 TrenchBoot/qubes-antievilmaid#15 TrenchBoot/xen#26 IMHO there is no reason to mention every use of this workflow. Signed-off-by: Danil Klimuk <[email protected]>
This is because it is being used in other TrenchBoot repos as well but on other branches because of: TrenchBoot/grub#32 TrenchBoot/qubes-antievilmaid#15 TrenchBoot/xen#26 IMHO there is no reason to mention every use of this workflow. Signed-off-by: Danil Klimuk <[email protected]>
This is because it is being used in other TrenchBoot repos as well but on other branches because of: TrenchBoot/grub#32 TrenchBoot/qubes-antievilmaid#15 TrenchBoot/xen#26 IMHO there is no reason to mention every use of this workflow. Signed-off-by: Danil Klimuk <[email protected]>
8dcb580 to
93194e3
Compare
We cannot simply rebase commits from TrenchBoot/xen on top of the commits in the QubesOS/qubes-vmm-xen, because: 1. The actual history for xen component is held in patches in the QubesOS/qubes-vmm-xen repository, so we need to do a convertion from patches to commits every time we want to try to rebase. 2. We want to track the changes to the other files from the QubesOS/qubes-vmm-xen except the patches for the xen component, as versions of these files might be closesly related to the changes in the patches for the xen component. Other changes that should be done due to history format difference between the QubesOS/qubes-vmm-xen and TrenchBoot/xen should be resolved by TrenchBoot maintainers in the same way done in the follwoing commit: TrenchBoot/grub@2f477ee Except from the above, there are three workarounds: 1. The "Fix malformed patch header (split URL line in 0627 patch)", otherwise git will not apple the patch. 2. Renaming QubesOS/qubes-vmm-xen/config to TrenchBoot/xen/config-qubesos, so it will not conflict with an already exesting directory "config" in the xen source code. 3. Renaming QubesOS/qubes-vmm-xen/xen.spec.in to QubesOS/qubes-vmm-xen/vmm-xen.spec.in. This is done because the qubes-dom0-packagev2.yml expects the file to have name ${{ inputs.qubes-component }}.spec.in and the correct name for this component in QubesOS is vmm-xen, not xen. Signed-off-by: Danil Klimuk <[email protected]>
93194e3 to
7f4daed
Compare
m-iwanicki
left a comment
There was a problem hiding this comment.
- Pass commit message through a spellchecker
| run: | | ||
| git remote add upstream https://xenbits.xenproject.org/git-http/xen.git | ||
| git fetch upstream "refs/tags/${UPSTREAM_TAG}:refs/tags/${UPSTREAM_TAG}" | ||
| - name: Fix malformed patch header (split URL line in 0627 patch) |
There was a problem hiding this comment.
Maybe sed -n '/^From: /,$p' | git am for every patch to just remove everything before From: would work? As those parts are lost anyway during commit. That way you won't have to add hardcoded workarounds for single patch. Not only that but this patch name or number can change (e.g. it's 0268 on Trenchboot fork)
| - name: Checkout downstream xen repository | ||
| uses: actions/checkout@v6 | ||
| with: | ||
| repository: trenchboot/xen |
There was a problem hiding this comment.
| repository: trenchboot/xen | |
| repository: TrenchBoot/xen |
| done | ||
| - name: Copy QubesOS RPM files to downstream repository, rename spec.in | ||
| run: | | ||
| mv qubes-vmm-xen/config qubes-vmm-xen/config-qubesos |
| name: Rebase and build the last successful automatic rebase of aem-next branch | ||
|
|
||
| on: | ||
| workflow_dispatch: |
There was a problem hiding this comment.
Maybe add dry_run flag that'll do rebase but skip bulding/publishing? So we can at least partially test this in the future?
| on: | ||
| workflow_dispatch: | ||
| schedule: | ||
| - cron: '0 0 * * 6' |
There was a problem hiding this comment.
I wonder if cron + workflow_dispatch won't conflict (race condition). Maybe add concurrency?
| ref: 'master' | ||
| inputs: >- | ||
| --input GITHUB_REPO=xen | ||
| --input GITHUB_SHA=${{ github.sha }} |
There was a problem hiding this comment.
for schedule/cron this will be HEAD of the default branch (master)
| run: | | ||
| mv qubes-vmm-xen/config qubes-vmm-xen/config-qubesos | ||
| sed -i 's/^Source3:[[:space:]]*config$/Source3: config-qubesos/' qubes-vmm-xen/xen.spec.in | ||
| cp -r qubes-vmm-xen/* xen/ |
There was a problem hiding this comment.
What if you replace some already existing, important files (maybe not currently but in the future)?
| git commit -m "QubesOS RPM files and Qubes builder metadata" | ||
| - name: Push qubes-vmm-xen-with-patches branch to downstream | ||
| working-directory: xen | ||
| run: git push origin qubes-vmm-xen-with-patches-rebase-prep |
There was a problem hiding this comment.
I'm assuming this will fail if this branch already exists and cleanup-after-rebase-attempt didn't run (because previous job failed)
| ref: 'aem-next-rebased' | ||
| - name: Read version of the QubesOS Component from version file | ||
| id: read-version | ||
| run: echo "version=$(cat version)" >> $GITHUB_OUTPUT |
There was a problem hiding this comment.
| run: echo "version=$(cat version)" >> $GITHUB_OUTPUT | |
| run: echo "version=$(cat version)" >> "$GITHUB_OUTPUT" |
actionlint suggestion
| @@ -0,0 +1,137 @@ | |||
| name: Rebase and build the last successful automatic rebase of aem-next branch | |||
There was a problem hiding this comment.
I'm not sure if we want Qubes patches on aem-next branch? We are/were using this branch for e.g. upstreaming Trenchboot changes. Maybe separate qubes+aem-next branch?
Related to TrenchBoot/.github#16 .