Skip to content

Commit

Permalink
Automatic deploy (build number 568)
Browse files Browse the repository at this point in the history
  • Loading branch information
ConanCI bot committed Nov 14, 2023
1 parent 958c8c9 commit 94c2651
Show file tree
Hide file tree
Showing 613 changed files with 19,196 additions and 4,888 deletions.
2 changes: 1 addition & 1 deletion 2.0/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 5c0406813aeb8ed05397e4d40841e8fd
config: 960defcc7e8809327296f77132e043e8
tags: 645f666f9bcd5a90fca523b33c5a78b7
14 changes: 10 additions & 4 deletions 2.0/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Page Not Found &mdash; conan 2.0.13 documentation</title>
<title>Page Not Found &mdash; conan 2.0.14 documentation</title>



Expand Down Expand Up @@ -45,7 +45,7 @@
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="conan 2.0.13 documentation" href="index.html"/>
<link rel="top" title="conan 2.0.14 documentation" href="index.html"/>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
Expand Down Expand Up @@ -215,7 +215,7 @@ <h1>Page Not Found<a class="headerlink" href="#page-not-found" title="Permalink
<div role="contentinfo">
<p>
&copy; Copyright 2016-2023, JFrog.
Last updated on Nov 03, 2023.
Last updated on Nov 14, 2023.
<span><a href="#" class="ot-sdk-show-settings">Cookies Settings</a></span>
</p>
</div>
Expand Down Expand Up @@ -360,6 +360,8 @@ <h1>Page Not Found<a class="headerlink" href="#page-not-found" title="Permalink








Expand All @@ -376,6 +378,10 @@ <h1>Page Not Found<a class="headerlink" href="#page-not-found" title="Permalink



<dd><a href="/en/1.62/index.html">1.62</a></dd>



<dd><a href="/en/1.61/index.html">1.61</a></dd>


Expand Down Expand Up @@ -628,7 +634,7 @@ <h1>Page Not Found<a class="headerlink" href="#page-not-found" title="Permalink
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'2.0.13',
VERSION:'2.0.14',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
Expand Down
14 changes: 10 additions & 4 deletions 2.0/Page Not Found.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Page not found &mdash; conan 2.0.13 documentation</title>
<title>Page not found &mdash; conan 2.0.14 documentation</title>



Expand Down Expand Up @@ -45,7 +45,7 @@
<link rel="index" title="Index"
href="/en/latest/genindex.html"/>
<link rel="search" title="Search" href="/en/latest/search.html"/>
<link rel="top" title="conan 2.0.13 documentation" href="/en/latest/index.html"/>
<link rel="top" title="conan 2.0.14 documentation" href="/en/latest/index.html"/>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
Expand Down Expand Up @@ -210,7 +210,7 @@ <h1>Page not found</h1>
<div role="contentinfo">
<p>
&copy; Copyright 2016-2023, JFrog.
Last updated on Nov 03, 2023.
Last updated on Nov 14, 2023.
<span><a href="#" class="ot-sdk-show-settings">Cookies Settings</a></span>
</p>
</div>
Expand Down Expand Up @@ -355,6 +355,8 @@ <h1>Page not found</h1>








Expand All @@ -371,6 +373,10 @@ <h1>Page not found</h1>



<dd><a href="/en/1.62/index.html">1.62</a></dd>



<dd><a href="/en/1.61/index.html">1.61</a></dd>


Expand Down Expand Up @@ -623,7 +629,7 @@ <h1>Page not found</h1>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'',
VERSION:'2.0.13',
VERSION:'2.0.14',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
Expand Down
42 changes: 42 additions & 0 deletions 2.0/_sources/changelog.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,48 @@ Changelog

For a more detailed description of the major changes that Conan 2.0 brings, compared with Conan 1.X, please read :ref:`whatsnew`

2.0.14 (14-Nov-2023)
--------------------

- Feature: Added ``riscv64, riscv32`` architectures to default ``settings.yml`` and management of them in Meson and Autotools. `#15053 <https://github.com/conan-io/conan/pull/15053>`_
- Feature: Allow only one simultaneous database connection. `#15029 <https://github.com/conan-io/conan/pull/15029>`_
- Feature: Add `conan cache backup-upload` to upload all the backup sources in the cache, regardless of which references they are from `#15013 <https://github.com/conan-io/conan/pull/15013>`_ . Docs `here <https://github.com/conan-io/docs/pull/3438>`__
- Feature: New ``conan list --format=compact`` for better UX. `#15011 <https://github.com/conan-io/conan/pull/15011>`_ . Docs `here <https://github.com/conan-io/docs/pull/3446>`__
- Feature: Ignore metadata upload by passing --metadata="" `#15007 <https://github.com/conan-io/conan/pull/15007>`_ . Docs `here <https://github.com/conan-io/docs/pull/3436>`__
- Feature: Better output messages in :command:`conan upload` `#14984 <https://github.com/conan-io/conan/pull/14984>`_
- Feature: Add extra flags to CMakeToolchain. `#14966 <https://github.com/conan-io/conan/pull/14966>`_ . Docs `here <https://github.com/conan-io/docs/pull/3452>`__
- Feature: Implement package load/restore from the cache, for CI workflows and moving packages over air-gaps. `#14923 <https://github.com/conan-io/conan/pull/14923>`_ . Docs `here <https://github.com/conan-io/docs/pull/3453>`__
- Feature: Compute version-ranges intersection to avoid graph version conflicts for compatible ranges `#14912 <https://github.com/conan-io/conan/pull/14912>`_
- Feature: CMake helper can use multiple targets in target argument. `#14883 <https://github.com/conan-io/conan/pull/14883>`_
- Feature: Add Macos 13.6 to settings.yml. `#14858 <https://github.com/conan-io/conan/pull/14858>`_ . Docs `here <https://github.com/conan-io/docs/pull/3416>`__
- Feature: Add CMakeDeps and PkgConfigDeps generators listening to system_package_version property. `#14808 <https://github.com/conan-io/conan/pull/14808>`_ . Docs `here <https://github.com/conan-io/docs/pull/3399>`__
- Feature: Add shorthand syntax in cli to specify host and build in 1 argument `#14727 <https://github.com/conan-io/conan/pull/14727>`_ . Docs `here <https://github.com/conan-io/docs/pull/3439>`__
- Feature: Implement cache LRU control for cleaning of unused artifacts. `#14054 <https://github.com/conan-io/conan/pull/14054>`_ . Docs `here <https://github.com/conan-io/docs/pull/3455>`__
- Fix: Avoid ``CMakeToolchain`` overwriting user ``CMakePresets.json`` when no layout nor output-folder is defined `#15058 <https://github.com/conan-io/conan/pull/15058>`_
- Fix: Add ``astra``, ``elbrus`` and ``altlinux`` as distribution using ``apt`` in SystemPackageManager `#15051 <https://github.com/conan-io/conan/pull/15051>`_
- Fix: Default to apt-get package manager in Linux Mint `#15026 <https://github.com/conan-io/conan/pull/15026>`_ . Docs `here <https://github.com/conan-io/docs/pull/3441>`__
- Fix: Make ``Git()`` check commits in remote server even for shallow clones. `#15023 <https://github.com/conan-io/conan/pull/15023>`_
- Fix: Add new Apple OS versions to settings.yml `#15015 <https://github.com/conan-io/conan/pull/15015>`_
- Fix: Fix AutotoolsToolchain extraflags priority. `#15005 <https://github.com/conan-io/conan/pull/15005>`_ . Docs `here <https://github.com/conan-io/docs/pull/3451>`__
- Fix: Remove colors from ``conan --version`` output `#15002 <https://github.com/conan-io/conan/pull/15002>`_
- Fix: Add an error message if the sqlite3 version is unsupported (less than 3.7.11 from 2012) `#14950 <https://github.com/conan-io/conan/pull/14950>`_
- Fix: Make cache DB always use forward slash for paths, to be uniform across Windows and Linux `#14940 <https://github.com/conan-io/conan/pull/14940>`_
- Fix: Solve re-build of an existing package revision (like forcing rebuild of a an existing header-only package), while previous folder was still used by other projects. `#14938 <https://github.com/conan-io/conan/pull/14938>`_
- Fix: Avoid a recipe mutating a ``conf`` to affect other recipes. `#14932 <https://github.com/conan-io/conan/pull/14932>`_ . Docs `here <https://github.com/conan-io/docs/pull/3449>`__
- Fix: The output of system packages via ``Apt.install()`` or ``PkgConfig.fill_cpp_info``, like ``xorg/system`` was very noisy to the Conan output, making it more quiet `#14924 <https://github.com/conan-io/conan/pull/14924>`_
- Fix: Serialize the ``path`` information of ``python_requires``, necessary for computing buildinfo `#14886 <https://github.com/conan-io/conan/pull/14886>`_
- Fix: Define remotes in :command:`conan source` command in case recipe has ``python_requires`` that need to be downloaded from remotes. `#14852 <https://github.com/conan-io/conan/pull/14852>`_
- Fix: Fix min target flag for xros and xros-simulator. `#14776 <https://github.com/conan-io/conan/pull/14776>`_
- Bugfix: ``--build=missing`` was doing unnecessary builds of packages that were not needed and could be skipped, in the case of ``tool_requires`` having transitive dependencies. `#15082 <https://github.com/conan-io/conan/pull/15082>`_
- BugFix: Add package revision to format=json in 'conan export-pkg' command `#15042 <https://github.com/conan-io/conan/pull/15042>`_
- Bugfix: ``tools.build:download_source=True`` will not fail when there are editable packages. `#15004 <https://github.com/conan-io/conan/pull/15004>`_ . Docs `here <https://github.com/conan-io/docs/pull/3448>`__
- Bugfix: Transitive dependencies were incorrectly added to conandeps.xcconfig. `#14898 <https://github.com/conan-io/conan/pull/14898>`_
- Bugfix: Fix integrity-check (``upload --check`` or ``cache check-integrity``) when the ``export_source`` has not been downloaded `#14850 <https://github.com/conan-io/conan/pull/14850>`_
- Bugfix: Properly lock release candidates of python requires `#14846 <https://github.com/conan-io/conan/pull/14846>`_
- BugFix: Version ranges ending with ``-`` do not automatically activate pre-releases resolution in the full range. `#14814 <https://github.com/conan-io/conan/pull/14814>`_ . Docs `here <https://github.com/conan-io/docs/pull/3454>`__
- BugFix: Fix version ranges so pre-releases are correctly included in the lower bound and excluded in the upper bound. `#14814 <https://github.com/conan-io/conan/pull/14814>`_ . Docs `here <https://github.com/conan-io/docs/pull/3454>`__


2.0.13 (28-Sept-2023)
---------------------

Expand Down
1 change: 1 addition & 0 deletions 2.0/_sources/devops.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ If you plan to use Conan in production in your project, team, or organization, t
devops/backup_sources/sources_backup
devops/metadata
devops/versioning
devops/save_restore
2 changes: 2 additions & 0 deletions 2.0/_sources/devops/backup_sources/sources_backup.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ and future source downloads of this recipe will use the newly updated contents w
See :ref:`the packages list feature<examples_commands_pkglists>` for a way to only upload the packages that have been built


In case there's a need to upload backups for sources not linked to any package, or for packages that are already on the remote and would therefore be skipped during upload, the :command:`conan cache backup-upload` command can be used to address this scenario.

.. _backup_sources_setup_remote:

Creating the backup repository
Expand Down
28 changes: 22 additions & 6 deletions 2.0/_sources/devops/metadata.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ in those locations.
def export(self):
# logs that might be generated in the recipe folder at "export" time.
# these would be associated with the recipe repo and original source of the recipe repo
# these would be associated with the recipe repo and original source of the recipe repo
copy(self, "*.log", src=self.recipe_folder,
dst=os.path.join(self.recipe_metadata_folder, "logs"))
Expand All @@ -69,7 +69,7 @@ in those locations.
Note that "recipe" methods (those that are common for all binaries, like ``export()`` and ``source()``) should use
``self.recipe_metadata_folder``, while "package" specific methods (``build()``, ``package()``) should use the
``self.recipe_metadata_folder``, while "package" specific methods (``build()``, ``package()``) should use the
``self.package_metadata_folder``.

Doing a ``conan create`` over this recipe, will create "metadata" folders in the Conan cache. We can have a look at those folders with:
Expand All @@ -87,7 +87,7 @@ It is also possible to use the "local flow" commands and get local "metadata" fo
to use a ``layout()`` method like above to avoid cluttering the current folder. Then the local commands will allow to test and debug the functionality:

.. code-block:: bash
$ conan source .
# check local metadata/logs/src.log file
$ conan build .
Expand Down Expand Up @@ -214,6 +214,22 @@ we could specify ``--metadata="logs*"`` to upload only the logs metadata, but no
# Multiple patterns are allowed:
$ conan upload "*" -r=remote -c --metadata="logs/*" --metadata="tests/*"
Sometimes it might be useful to upload packages without uploading the metadata, even if the metadata cache folders contain files.
To ignore uploading the metadata, use an empty argument as metadata pattern:

.. code-block:: bash
# Upload only the packages, not the metadata
$ conan upload "*" -r=remote -c --metadata=""
The case of mixing ``--metadata=""`` with ``--metadata="*"`` is not allowed, and it will raise an error.

.. code-block:: bash
# Invalid command, it will raise an error
$ conan upload "*" -r=remote -c --metadata="" --metadata="logs/*"
ERROR: Empty string and patterns can not be mixed for metadata.
Downloading metadata
--------------------
Expand Down Expand Up @@ -288,7 +304,7 @@ Let's start with a hook that automatically stores as **recipe metadata** the ``
Note that this hook doesn't take into account that ``test_package`` can be dirty with tons of temporary build
objects (it should be cleaned before being added to metadata), and it doesn't check that ``test_package`` might
not exist at all and crash.
not exist at all and crash.

When a package is created and uploaded, it will upload to the server the recipe metadata containing the ``test_package``:

Expand All @@ -298,7 +314,7 @@ When a package is created and uploaded, it will upload to the server the recipe
$ conan upload "*" -c -r=default # uploads metadata
...
pkg/0.1: Recipe metadata: 1 files
Let's remove the local copy, and assume that the package is installed, but the metadata is not:

.. code-block:: bash
Expand Down Expand Up @@ -327,4 +343,4 @@ downloading it, and copying it to our current folder:
- TODO: Examples how to collect the metadata of a complete dependency graph with some custom deployer or command


This is an **experimental** feature. We are looking forward to hearing your feedback, use cases and needs, to keep improving this feature. Please report it in `Github issues <https://github.com/conan-io/conan/issues>`_
This is an **experimental** feature. We are looking forward to hearing your feedback, use cases and needs, to keep improving this feature. Please report it in `Github issues <https://github.com/conan-io/conan/issues>`_
59 changes: 59 additions & 0 deletions 2.0/_sources/devops/save_restore.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
.. _devops_save_restore:

Save and restore packages from/to the cache
===========================================

.. include:: ../common/experimental_warning.inc

With the ``conan cache save`` and ``conan cache restore`` commands, it is possible to create a .tgz from one or several packages from a Conan cache and later restore those packages into another Conan cache. There are some scenarios this can be useful:

- In Continuous Integration, specially if doing distributed builds, it might be very convenient to be able to move temporary packages recently built. Most CI systems have the capability of transferring files between jobs for this purpose. The Conan cache is not concurrent, sometimes for paralllel jobs different caches have to be used.
- For air-gapped setups, in which packages can only be transferred via client side.
- Developers directly sharing some packages with other developers for testing or inspection.


The process of saving the packages is using the ``conan cache save`` command.
It can use a pattern, like the ``conan list`` command, but it can also accept a package-list, like other commands like ``remove, upload, download``. For example:

.. code-block:: bash
$ conan cache save "pkg/*:*"
Saving pkg/1.0: p/pkg1df6df1a3b33c
Saving pkg/1.0:9a4eb3c8701508aa9458b1a73d0633783ecc2270: p/b/pkgd573962ec2c90/p
Saving pkg/1.0:9a4eb3c8701508aa9458b1a73d0633783ecc2270 metadata: p/b/pkgd573962ec2c90/p
...
# creates conan_cache_save.tgz
The ``conan_cache_save.tgz`` file contains the packages named ``pkg`` (any version), the last recipe revision, and the last package revision of all the package binaries.
The name of the file can be changed with the optional ``--file=xxxx`` argument. Some important considerations:

- The command saves the contents of the cache "recipe" folders, containing the subfolders "export", "export_sources", "download", "source" and recipe "metadata".
- The command saves the contents of the "package" and the package "metadata" folders, but not the binary "build" or "download", that are considered temporary folders.
- If the user doesn't want any of those folders to be saved, they can be cleaned before saving them with ``conan cache clean`` command
- The command saves the cache files and artifacts as well as the metadata (revisions, package_id) to be able to restore those packages in another cache. But it doesn't save any other cache state like ``settings.yml``, ``global.conf``, ``remotes``, etc. If the saved packages require any other specific configuration, it should be managed with ``conan config install``.

We can move this ``conan_cache_save.tgz`` file to another Conan cache and restore it as:

.. code-block:: bash
$ conan cache restore conan_cache_save.tgz
Restore: pkg/1.0 in p/pkg1df6df1a3b33c
Restore: pkg/1.0:9a4eb3c8701508aa9458b1a73d0633783ecc2270 in p/b/pkg773791b8c97aa/p
Restore: pkg/1.0:9a4eb3c8701508aa9458b1a73d0633783ecc2270 metadata in p/b/pkg773791b8c97aa/d/metadata
...
The restore process will overwrite existing packages if they already exist in the cache.


.. note::

**Best practices**

- Saving and restoring packages is not a substitute for proper storage (upload) of packages in a Conan server repository.
It is only intended as a transitory mechanism, in CI systems, to save an air-gap, etc., but not as a long-term storage
and retrieval.
- Saving and restoring packages is not a substitute for proper backup of server repositories. The recommended way to
implement long term backup of Conan packages is using some server side backup strategy.
- The storage format and serialization is not guaranteed at this moment to be future-proof and stable. It is expected
to work in the same Conan version, but future Conan versions might break the storage format created with previous versions.
(this is aligned with the above recommendation to not use it as a backup strategy)
Loading

0 comments on commit 94c2651

Please sign in to comment.