Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/grisumbras/conan-export-subdirs

GitHub Action that exports Conan packages in subdirectories
https://github.com/grisumbras/conan-export-subdirs

Last synced: about 2 months ago
JSON representation

GitHub Action that exports Conan packages in subdirectories

Awesome Lists containing this project

README

        

= conan-export-subdirs
:toc: preamble

[link=https://github.com/grisumbras/conan-export-subdirs/actions]
image::https://github.com/grisumbras/conan-export-subdirs/workflows/ci/badge.svg[Build status]

____
GitHub Action that exports Conan packages in subdirectories
____

== Usage

This action is usefull when you want to upload packages built in separate CI
jobs. First you need to upload them as artifacts from their jobs, then you need
to download them all, export them into Conan cache and finally upload.

Example usage:

[source,yaml]
----
build:
strategy:
matrix:
os: [ubuntu-latest, macOS-latest, windows-latest]

runs-on: ${{ matrix.os }}

steps:
- run: conan create .

- uses: grisumbras/locate-conan-package@latest
id: locate_package

- uses: actions/upload-artifact@v1
with:
name: artifacts-${{ matrix.os }}
path: ${{ steps.locate_package.outputs.path }}

publish:
runs-on: ubuntu-latest
steps:
- uses: actions/upload-artifact@v1
with:
name: artifacts-ubuntu-latest
path: artifacts

- uses: actions/upload-artifact@v1
with:
name: artifacts-macOS-latest
path: artifacts

- uses: actions/upload-artifact@v1
with:
name: artifacts-windows-latest
path: artifacts

- uses: grisumbras/conan-export-subdirs@latest
with:
path: artifacts

----

== Inputs

=== `path`
Path to the directory containing subdirectories with package folders to export.

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

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

=== `user`
User (namespace) of the package to export. 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 export. 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 export. If specified all inputs that specify
parts of the reference are ignored.

== Maintainer
Dmitry Arkhipov

== Contributing
Patches welcome!

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