Skip to content
upload-cloud

GitHub Action

Publish PackageCloud.io Packages

v1.1 Latest version

Publish PackageCloud.io Packages

upload-cloud

Publish PackageCloud.io Packages

Easily mass-uploads RPM and DEB packages to PackageCloud.io. Other package types have limited support

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Publish PackageCloud.io Packages

uses: golift/upload-packagecloud@v1.1

Learn more about this action in golift/upload-packagecloud

Choose a version

upload-packagecloud

GitHub Action to upload packages to PackageCloud.io.

All the other similar actions out there have flaws and do not meet my needs. This one probably has flaws too, but it tries to be better. If you need any other features, please ask.

Inputs

  • Version 1 has three required inputs: userrepo, apitoken and packages.

userrepo

This required input must be the username/repository on package cloud that the packages are uploaded to.

If you are uploading a non-RPM/DEB package, you may expand this to the distribution path as well. ie. username/repository/node to push into an NPM repository.

apitoken

Store your Package Cloud API token in GitHub Secrets and pass it in here.

packages

This input may be either a folder or a single file name. If it's a single file, any package type is supported, but you have little control over the "distribution version" for non-RPM/DEB package types. If a folder is provided, all *.deb and *.rpm files in it (non-recusrive) are uploaded. No other package types are supported for a folder input.

rpmdists

This optional field controls which YUM distribtions RPM packages are uploaded to. Specify more than 1 by separating them with spaces. Examples: el/6 el/7 ol/6 ol/7

debdists

This optional field controls which APT distribtions DEB packages are uploaded to. Specify more than 1 by separating them with spaces. Examples: debian/buster ubuntu/focal

Example Use

This uploads all the RPM and DEB packages in the root folder. RedHat packages only go into el/6 and Debian packages go into ubuntu/focal and debian/buster.

- uses: golift/upload-packagecloud@v1
  with:
    userrepo: golift/pkgs
    apitoken: ${{ secrets.PACKAGECLOUD_TOKEN }}
    packages: .
    rpmdists: el/6
    debdists: ubuntu/focal debian/buster