Channels are named views of the packages in a repository. Use them for stability levels, supported release lines, or short-lived development builds.
Common patterns include:
stablefor production releases.testingfor release candidates.developfor continuous builds.stable/16orrelease/3.2for maintained release lines.
Channel names can contain slashes. A package can be published to multiple channels in one upload.
Create channels by publishing
You do not create an empty channel. Packager.io creates it when the first package is published:
- uses: pkgr/action/publish@v1 with: file: ${{ steps.package.outputs.package_path }} target: ${{ matrix.target }} repository: acme/widget channel: stable,latest token: ${{ secrets.PACKAGER_PUBLISH_TOKEN }}List channels
packagehall-ctl channel list --org=acme --repo=widgetThe result shows package counts, the latest update, the default channel, and automatic compaction settings.
Choose the default
The repository page uses its default channel when a visitor does not select one explicitly:
packagehall-ctl channel set-default stable \ --org=acme \ --repo=widgetChoose a channel intended for end users, not a branch that may disappear.
Compact old revisions
Compaction keeps the newest revisions of each package name and removes older ones from the channel:
packagehall-ctl channel compact develop \ --org=acme \ --repo=widget \ --keep-revisions=3Configure the same policy to run nightly:
packagehall-ctl channel set-auto-compact develop \ --org=acme \ --repo=widget \ --keep-revisions=3Disable nightly compaction with --keep-revisions=-1.
Delete a channel
packagehall-ctl channel delete feature/old-ui \ --org=acme \ --repo=widgetThe CLI reports the package count and asks for confirmation. Deleting a channel removes its package associations and may make unreferenced files eligible for later storage cleanup.