GitHub Action
conan-export-subdirs
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
Version of the package to export. If not specified, version
attribute of the
package recipe is used.
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 of the package to export. If not specified, the current git ref name is matched against stable pattern. If matches, the stable channel is used, otherwise the testing channel is used.
Stable pattern comes from environment variable CONAN_STABLE_BRANCH_PATTERN
if it’s present, otherwise it is ^(master$|release.*|stable.*)
.
Stable channel comes from environment variable CONAN_STABLE_CHANNEL
if it’s
present, otherwise it is the string stable
.
Testing channel is either
-
the value of environment variable
CONAN_CHANNEL
if it’s present; -
or
default_user
attribute of the package recipe, if it’s present; -
or the string
testing
.
Dmitry Arkhipov <[email protected]>
BSL-1.0 © 2019 Dmitry Arkhipov