Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grisumbras/conan-promote

GitHub Action that promotes a Conan package from one user/channel to another
https://github.com/grisumbras/conan-promote

Last synced: about 2 months ago
JSON representation

GitHub Action that promotes a Conan package from one user/channel to another

Awesome Lists containing this project

README

        

= conan-promote
:toc: preamble

[link=https://github.com/grisumbras/conan-promote/actions]
image::https://github.com/grisumbras/conan-promote/workflows/Build/badge.svg?branch=master[Build status]

____
GitHub Action that promotes a Conan package from one user/channel to another
____

== Usage
The action downloads packages matching a particular reference from a remote,
promotes them from one user/channel to another using `conan copy` and then
uploads the new packages back.

Example usage:

[source,yaml]
----
uses: grisumbras/conan-promote@latest
----

=== Inputs
name::
Name of the package to promote. If not specified, `name` attribute of the
package recipe is used.

version::
Version of the package to promote. If not specified, `version` attribute of
the package recipe is used.

user::
User (namespace) of the package to promote. If not specified
+
. `CONAN_USERNAME` environment variable is used, if present;
. or `default_user` attribute of the package recipe is used, if present;
. or the first part of the value of `GITHUB_REPOSITORY` environment variable
(before the slash) is used.

channel::
Channel of the package to promote. If not specified
+
. `CONAN_CHANNEL` environment variable is used, if present;
. or `default_channel` attribute of the package recipe is used, if present;
. or the string `testing`.

reference::
Full reference of the package to promote. If specified all inputs that specify
parts of the reference are ignored.

target-channel::
Channel to promote to. Default is `stable`.

target-user::
User (namespace) to promote to. If not specified, equals to the user component
of the source package's reference.

login::
Username to authenticate as. If not specified
+
. `CONAN_LOGIN_USERNAME` environment variable is used, if present;
. or value of `target-user` input is used.

password::
Password to use to authenticate. If not specified, `CONAN_PASSWORD` environment
variable is used. If still empty, promoted packages won't be uploaded. This is
normally stored as a repository secret.

url::
URL of the remote to upload to. If not specified, `CONAN_UPLOAD` environment
variable is used (the value is split by `@` character and the first segment is
picked).

remote::
name of the remote to upload to. If not specified, `CONAN_UPLOAD` environment
variable is used if present (the value is split by `@` character and the third
segment is picked). Otherwise, the strig `upload` is used.

install::
Install Conan before doing package promotion if the value is not `no`. If the
value is `latest` install the latest version, otherwise install the version
equal to that value. `latest` by default.

== Maintainer
Dmitry Arkhipov

== Contributing
Patches welcome!

== License
link:LICENSE[BSL-1.0] (C) 2019 Dmitry Arkhipov