Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to upload build dependencies too? #237

Closed
bilke opened this issue Jun 29, 2018 · 5 comments · Fixed by #334
Closed

How to upload build dependencies too? #237

bilke opened this issue Jun 29, 2018 · 5 comments · Fixed by #334
Assignees

Comments

@bilke
Copy link
Contributor

bilke commented Jun 29, 2018

I have a package A which has other packages (e.g. B) as build dependencies. Package B is not available as a binary package. When I build A with build_policy set to missing package B is build from source as well.

At the end the new package for A is uploaded to my repo. Is it possible to automatically upload the new package for B as well?

@lasote
Copy link
Contributor

lasote commented Jun 29, 2018

Not currently.

@solvingj
Copy link
Contributor

solvingj commented Jul 22, 2018

Hah, while my first instinct is that it's better to have a dedicated job to build B separately, while thinking about it, I definitely noticed the temptation. As bincrafters, we could define one job "boost_all" with build missing, and let the whole boost tree be built (and now uploaded) recursively. I still don't think it's a good idea in our case, has lots of impracticalities at scale, but now I can see it being worthwhile in some cases. For example, if you are setting up CPT for a small new project, and building a few unique combination of settings/options for which there are no binaries in conan center, and use an OSS package which has 10 dependencies. It would be tedious to have to setup a CI job to build each separately.

@uilianries
Copy link
Member

I know how you feel ... I have a bunch of projects and sometimes I need to build a specific configuration, but the transitive dependency raises an error when I want to build just the top of level. It's really boring waste minutes, maybe an hour, building all chain of dependencies.

@wittmeie
Copy link

wittmeie commented Oct 9, 2018

We also need this feature. I might be able to contribute it but need some advice on how to implement it. Would you envision this as an option of the conan upload command? If so, wouldn't we need two options: (1) upload transitive runtime dependencies and (2) upload transitive build dependencies?

@uilianries uilianries self-assigned this Feb 5, 2019
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Feb 6, 2019
- Add description about the new feature

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@Linux13524
Copy link

I wrote some lines of code regarding this issue. Since there is already an open PR I will not create a second one.
@uilianries feel free to use my code for your PR ;) Would be cool to see this feature in one of the next versions..

uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 9, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 10, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
uilianries added a commit to uilianries/conan-package-tools that referenced this issue Mar 11, 2019
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@settings settings bot removed the enhancement label Mar 15, 2019
lasote pushed a commit that referenced this issue Mar 19, 2019
* #237 Update README

- Add description about the new feature

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload all dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Unit test to upload all deps

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix env var name

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix upload dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload only built packages

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Only upload when package is available

Signed-off-by: Uilian Ries <uilianries@gmail.com>
lasote added a commit that referenced this issue Mar 29, 2019
* allow passing user-specified Docker args during create step

* rename parameter

* mention CONAN_DOCKER_RUN_OPTIONS envvar in readme

* add tests

* #343 Improve docker integration test

- Fix conan_pip_package. It should be a str by default
- Pass original printer to be re-used by Docker runner
- Add integration test to validate docker run options

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #343 Fix skip test when running docker

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Add GitHub settings (#345) (#349)

* Add GitHub settings

- Use standard Conan tags for issues
- Add stale config for timeout bot
- Add issue template

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Use Github settings from conanio/docs

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #345 Add PR template

- Add PR template to generate the changelog
- Add the contributing guide

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Trigger Github Settings (#352)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #336 Forward login method (#344)

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Upload package dependencies (#334)

* #237 Update README

- Add description about the new feature

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload all dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Unit test to upload all deps

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix env var name

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Fix upload dependencies

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Upload only built packages

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #237 Only upload when package is available

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Accept custom pip command (#347)

* #147 Support custom PIP command

- Add env var CONAN_PIP_COMMAND which allows to run a specific
  pip version, or even a pip binary path.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Check pip command before to run

- To avoid command injection, the custom pip command will be checked

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Test dynamic pip version

- Check for current pip version before to customize CONAN_PIP_COMMAND

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Ignore which pip on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 pip install quiet mode

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #147 Try to fix Windows tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Accept Docker arguments as list

- both string and list are accepted as docker arguments
- Update docker test to use list

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #277 Fix options when downloading docker image

- Docker is executed in two cases. The first one is when
  we need to download the docker image and patch with the
  newest Conan version. The options were skipped there

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add CONAN_CONANFILE option (#357)

* #354 Add CONAN_CONANFILE option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Add option description on README

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Support CONAN_CONANFILE option

- Add full support for custom conanfile name
- Add tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #354 Fix boolean option

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #355 Skip check credentials is boolean (#356)

- Parse the env var CONAN_SKIP_CHECK_CREDENTIALS as boolean

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* fix azure pipelines branch detection (#346)

use variable BUILD_SOURCEBRANCH
BUILD_SOURCEBRANCHNAME only has the part after last /

* Feature/upload only recipe (#348)

* #153 Upload only the recipe

- Add CONAN_UPLOAD_ONLY_RECIPE env var, which set to skip
  all binary packages upload.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Test upload only the recipe

- get boolean value from environment variable is non-case sensitive now

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix upload recipe argument

@madebr found a bug where the argument is wrong.

Co-Authored-By: uilianries <uilianries@gmail.com>

* #153 Fix unit test for upload recipe

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Add test to check parameters

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #153 Fix conflict in README file

* Update Docker run example

- Use custom Docker network instead of using custom cache.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Prepared for 1.15

* 0.25.0

* 1.15.0

* Fix Tox version (#364)

- Tox 3.8.1 is totally broken

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Upload package with revisions (#363)

* #361 Upload package with revisions

- Package reference passed to be created is not the same
  retrieved from package id when the package is built.
  "foo/0.1@bar/testing" != "foo/0.1@bar/testing#<hash>"

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* #361 Parse revision

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Fix broken tests for release 0.25.0 (#365)

* Fix broken tests for release 0.25.0

- Release branch is fragile, only specific tests are able to run,
  or even CPT behavior could change during the tests.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Run Docker test as regular test

- Do not require Bintray account to run docker tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Clean some stuff and improve test running in local
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants