The PR changes the release.py logic to be able to use the new generation of tarball that happens on Jenkins instead of using the dev local machines. See the linked docs update for a general usage and data flow overview https://github.com/gazebosim/docs/pull/403
No changes in releasing workflow and the release.py call: Note that the tag of the project code to be built still happens in the local dev system so the workflow is the same than now: go to the source code you want to build and run release.py with the same arguments than now. Instead of calling -debbuilders there will a chain of actions composed
PR is quite long, probably easier to read change by change to understand the logic:
Remove all current code related to tarball generation 5f18737cdd47d918c30ecfec5dd569f2c71d7ffc
Remove current --no-generate-source-file and clean up nightly generation 7887be0975ab0b100335d1ed9f76604b1c284c89
Helper function to get the github repository uri from current directory:
Manual testing:
Run the whole generation pipeline with the real example of gz-utils2 version 2.2.0~pre3. Steps were as follow:
Usual previous steps to prepare the -release repository and the source code modifying CMakeLists.txt
cd code/gz-utils
Dry run ~/code/release-tools/release.py gz-utils2 2.2.0~pre1 <token> --dry-run --upload-to-repo prerelease to see the gz-source
Run release ~/code/release-tools/release.py gz-utils2 2.2.0~pre1 <token> --upload-to-repo prerelease
The release.py call triggers gz-utils2-source. Which after success, called:
repository_uploader_packages to upload the tarball. In the parameters can be found the new tarball name and upload target.
_releasepy (that will wait until all jobs of repository_uploader_packages finish) to call the debbuilders using --source-tarball-uri that points to the new tarball. The call and output is hidden in the a workspace log for security reasons. . This job will call --debuilders and the brew bottle builder as it is done until now.
The PR changes the release.py logic to be able to use the new generation of tarball that happens on Jenkins instead of using the dev local machines. See the linked docs update for a general usage and data flow overview https://github.com/gazebosim/docs/pull/403
No changes in releasing workflow and the release.py call: Note that the tag of the project code to be built still happens in the local dev system so the workflow is the same than now: go to the source code you want to build and run
release.py
with the same arguments than now. Instead of calling-debbuilders
there will a chain of actions composedPR is quite long, probably easier to read change by change to understand the logic:
--no-generate-source-file
and clean up nightly generation 7887be0975ab0b100335d1ed9f76604b1c284c89--source-repo-existing-ref
and--source-tarball-uri
. If--source-tarball-uri
:--help
what the new parameters do 8aca8acd5655fcb7a9f52dc386976ffb91100feegz-foo-source
directory as entry point--source-tarball-uri
calls will triggergz-foo-debbuilders
directly since no source code needs to be generated.--bump-only-revision-linux
parameter to need--source-tarball-uri
cbb83e2CI Testing:
_RELEASEPY_TEST_RELEASE_REPO
https://github.com/gazebo-tooling/release-tools/commit/479139235e9b7218960a1d35c91130049a75f0d8#diff-9f016d3777d731463c2969cd7d16bb014363bee6bf98af9fe7ca66c4392949adManual testing: Run the whole generation pipeline with the real example of
gz-utils2
version2.2.0~pre3
. Steps were as follow:CMakeLists.txt
cd code/gz-utils
~/code/release-tools/release.py gz-utils2 2.2.0~pre1 <token> --dry-run --upload-to-repo prerelease
to see the gz-source~/code/release-tools/release.py gz-utils2 2.2.0~pre1 <token> --upload-to-repo prerelease
repository_uploader_packages
finish) to call the debbuilders using--source-tarball-uri
that points to the new tarball. The call and output is hidden in the a workspace log for security reasons.--debuilders
and the brew bottle builder as it is done until now.