Skip to content

Implement support for installing staging packages#102

Open
bastelfreak wants to merge 1 commit intovoxpupuli:masterfrom
bastelfreak:staging
Open

Implement support for installing staging packages#102
bastelfreak wants to merge 1 commit intovoxpupuli:masterfrom
bastelfreak:staging

Conversation

@bastelfreak
Copy link
Member

No description provided.

@bastelfreak
Copy link
Member Author

relates to voxpupuli/voxpupuli-acceptance#132

# Build the openvox-agent package filename for a given host and version.
#
# The host's +packaging_platform+ attribute must follow the Beaker
# convention: "<variant>-<release>-<arch>", e.g.:
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 think those are the values and the logic is working, but I haven't checked the beaker code

host.install_package(url)
when 'debian', 'ubuntu'
# Deb: must be downloaded to a local path first, then installed
wget_on(host, url) do |filename|
Copy link
Member Author

Choose a reason for hiding this comment

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

If we could just do apt install https://.. :sadface:

@bastelfreak bastelfreak marked this pull request as ready for review February 21, 2026 14:43
@bastelfreak bastelfreak requested a review from ekohl February 21, 2026 14:43
@bastelfreak
Copy link
Member Author

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

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

We already have install_puppet_release_repo_on. It used to also support staging and you can find traces of it:

https://github.com/bastelfreak/beaker_puppet_helpers/blob/4db3af584c0015749e6ff1e4e2b8409458fbea56/lib/beaker_puppet_helpers/install_utils.rb#L55

So the idea was that you would include staging to REPOS and somehow a way to select it.

# @raise [ArgumentError] if the variant is unsupported
# @api private
def self.openvox_agent_staging_package_filename(host, version)
variant, release, arch = host['packaging_platform'].split('-', 3)
Copy link
Member

Choose a reason for hiding this comment

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

For my own understanding: I was wondering what kind of instance it is. Sadly https://github.com/voxpupuli/beaker/blob/1dd081b0fa445f6edfbaf82baedb5d695e3f21b0/lib/beaker/host.rb#L71 doesn't guarantee it's a Beaker::Platform so you can't reuse the helpers. That's probably why this whole file duplicates the logic all the time.

Copy link
Member Author

Choose a reason for hiding this comment

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

yes :(

@bastelfreak
Copy link
Member Author

@ekohl the staging repos from Perforce are different. They were/are actual repositories. In our setup it's just a plain directory with all packages.

@ekohl
Copy link
Member

ekohl commented Feb 24, 2026

Do we have some documentation how the staging repos actually look? What the process is, etc.

@bastelfreak
Copy link
Member Author

you mean the openvox setup? We have a pipeline at https://github.com/OpenVoxProject/openvox/actions/workflows/build.yml and it publishes packages to an S3 bucket. The bucket is synced to https://artifacts.voxpupuli.org/openvox-agent/. I've no insights in the Perforce nightlies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants