Skip to content
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

feat: overhaul workflows to publish packages to new archive infra #38

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

khos2ow
Copy link
Member

@khos2ow khos2ow commented Jun 22, 2024

No description provided.

@kgilmer
Copy link
Member

kgilmer commented Sep 14, 2024

Hi @khos2ow , with 3.2 out the door the gates are open for the build refactor. Is this still WIP?

@khos2ow
Copy link
Member Author

khos2ow commented Sep 15, 2024

That's great! Yes this is still WIP. I'm gonna start working on it again.

@khos2ow khos2ow force-pushed the migrate branch 11 times, most recently from 6f14094 to dd2d0fa Compare November 13, 2024 19:43
@khos2ow khos2ow force-pushed the migrate branch 4 times, most recently from 92b37dd to 272fc97 Compare November 22, 2024 17:57
@khos2ow khos2ow force-pushed the migrate branch 5 times, most recently from 819f1ca to a2ecf79 Compare November 26, 2024 14:59
@khos2ow khos2ow marked this pull request as ready for review November 26, 2024 14:59
@khos2ow khos2ow force-pushed the migrate branch 7 times, most recently from 4e03790 to 0ea7bbc Compare November 27, 2024 20:38
@khos2ow khos2ow force-pushed the migrate branch 10 times, most recently from 9395942 to 1749472 Compare December 14, 2024 22:34
@khos2ow khos2ow requested a review from kgilmer December 14, 2024 22:35
@khos2ow khos2ow changed the title feat: add migration guide to new package archives feat: overhaul workflows to publish packages to new archive infra Dec 14, 2024
.github/workflows/test-pkg-build.yml Show resolved Hide resolved
.github/workflows/test-pkg-build.yml Show resolved Hide resolved
.github/scripts/local-build.sh Show resolved Hide resolved
set -x

ssh-keyscan -H ${{ secrets.KAMATERA_HOSTNAME2 }} >> ~/.ssh/known_hosts
ssh root@${{ secrets.KAMATERA_HOSTNAME2 }} "publish-repos.sh \"${{ inputs.packages-path }}\" \"${{ inputs.only-distro }}\" \"${{ inputs.only-codename }}\" \"${{ inputs.only-component }}\""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this makes sense, is obvious. I wonder if you considered running a gh runner on the repo host. Maybe a step in the wrong direction..

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hadn't! That could be interesting. But immediately what I'm thinking is that don't put more things and more responsibility into a server which basically is only designed to "serve an http server."

Making that a runner adds a bit more complexity to this and for us to maintain yet one more thing for it.

Copy link
Member Author

@khos2ow khos2ow Dec 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can track it in #44 after getting this merged.

.github/scripts/rebuild-sources.sh Show resolved Hide resolved
.github/scripts/ext-debian.sh Show resolved Hide resolved
}

archive_setup_scripts() {
# Following allows for internal dependencies
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question: can you elaborate on this? What would qualify as an internal dependency?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part is equivalent of this which I moved from action file to here.

Not entirely sure if it is actually needed or not, but I think if a package that's being built relies on other packages that are maintained by Regolith (and basically only exists in archive.regolith-desktop.com and not Ubuntu or Debian public repos)

Copy link
Member

@kgilmer kgilmer Dec 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually needed 😄 . Presently we have one such case: sway-regolith depends on trawldb. The current approach is to break a build into two phases, for stages that doesn't already have some version of trawldb in the repo (for example, a new OS-codename being added) which result in commits like this and then a revert. Would be really nice to not have to deal with that sort of thing.

Does this mean that, for say an example where 3 packages need to be built, that each build runs in isolation (so that the dependencies are available), or something else? To contrast, the existing build system is kind of "one shot" meaning that any failure fails the whole build, and any dependency to a package build needs to already be available before the build starts. So, it's not possible to say "first build trawldb, then build sway-regolith" because, while it's possible to have trawldb build first, it is not ingested into the package repo until the end of the package build.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a great point! I've also thinking about this and I think I might have a way forward to decentralize the process of building and publishing packages. If that works, then dependency management will ultimately boil down to "run the GitHub Action of the dependant package first and then run the Action of the other package."

We can track this further in #45 separately after getting this merged and get the ball rolling for unified archives in new server.

@kgilmer
Copy link
Member

kgilmer commented Dec 15, 2024

(still reading code. no concerns yet but need a bit more reading time)

@khos2ow khos2ow force-pushed the migrate branch 2 times, most recently from f3b3b24 to 8329568 Compare December 17, 2024 04:03
@khos2ow khos2ow linked an issue Dec 17, 2024 that may be closed by this pull request
@khos2ow khos2ow requested a review from kgilmer December 17, 2024 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unifying archive package structure
2 participants