/conan-export-subdirs

GitHub Action that exports Conan packages in subdirectories

Primary LanguageJavaScriptBoost Software License 1.0BSL-1.0

conan-export-subdirs

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:

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

  1. CONAN_USERNAME environment variable is used, if present;

  2. or default_user attribute of the package recipe is used, if present;

  3. 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

  1. CONAN_CHANNEL environment variable is used, if present;

  2. or default_channel attribute of the package recipe is used, if present;

  3. 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 <grisumbras@gmail.com>

Contributing

Patches welcome!

License

BSL-1.0 © 2019 Dmitry Arkhipov