-
Notifications
You must be signed in to change notification settings - Fork 123
Conversation
Thank you for creating the PR!
Please copy the script then to scripts/release or simply do the cmake call directly in your release script. The scripts in scripts/dev are meant to be for development, which sometimes has other goals than release management. |
Yes, do whatever is simple for now (probably call CMake directly). Which parameters are used for release is a separate issue now #3531. |
8330985
to
cdc49a8
Compare
I'm having issues building the deb package in ubuntu focal because of some missing python files. ....
make[1]: Entering directory '/home/jenkins/DEV-elektra/libelektra'
dh_install --list-missing
dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead
dh_install: warning: This feature will be removed in compat 12.
dh_install: warning: Cannot find (any matches for) "usr/lib/python3/*-packages/kdb/*.so" (tried in ., debian/tmp)
dh_install: warning: python3-elektra missing files: usr/lib/python3/*-packages/kdb/*.so
dh_install: warning: Cannot find (any matches for) "usr/lib/python3/*-packages/kdb/*.py" (tried in ., debian/tmp)
dh_install: warning: python3-elektra missing files: usr/lib/python3/*-packages/kdb/*.py
dh_install: warning: Cannot find (any matches for) "usr/share/libelektra-test/test-data/python/*" (tried in ., debian/tmp)
dh_install: warning: elektra-tests missing files: usr/share/libelektra-test/test-data/python/*
dh_install: error: missing files, aborting
make[1]: *** [debian/rules:72: override_dh_install] Error 25
make[1]: Leaving directory '/home/jenkins/DEV-elektra/libelektra'
make: *** [debian/rules:57: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -i -I -sa failed
gbp:error: 'debuild -i -I -sa' failed: it exited with 29 $ dh_missing --fail-missing
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v1/again_two_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v1/meta_data.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v1/one_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v1/three_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v1/two_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/again_two_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/demo.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/fullnames.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/meta_data.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/one_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/three_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/dump/v2/two_value.dump exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/meta_example.h exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/meta_examplerc exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/simple_example.h exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/simple_examplerc exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/test_valid.h exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/share/libelektra-test/test-data/kconfig/test_validrc exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/lib/x86_64-linux-gnu/pkgconfig/elektra-merge.pc exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/lib/x86_64-linux-gnu/elektra/tool_exec/cmerge-config-files exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/lib/x86_64-linux-gnu/elektra/tool_exec/install-config-file exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/lib/x86_64-linux-gnu/elektra/tool_exec/gen-gpg-testkey exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/include/elektra/kdbglobbing.h exists in debian/tmp but is not installed to anywhere
dh_missing: warning: usr/include/elektra/kdbmerge.h exists in debian/tmp but is not installed to anywhere
The following debhelper tools have reported what they installed (with files per package)
* dh_install: elektra-bin (81), elektra-bin-extra (12), elektra-dbg (0), elektra-doc (637), elektra-qt-gui (6), elektra-tests (372), libelektra-dev (78), libelektra4 (85), libelektra4-all (0), libelektra4-augeas (1), libelektra4-crypto (1), libelektra4-curl (1), libelektra4-dbus (2), libelektra4-experimental (14), libelektra4-extra (39), libelektra4-full (7), libelektra4-gen (0), libelektra4-journald (1), libelektra4-lua (1), libelektra4-python (1), libelektra4-xerces (1), libelektra4-xmltool (1), libelektra4-yajl (1), libelektra4-zeromq (2), lua-elektra (1), python-elektra (0), python3-elektra (0)
If the missing files are installed by another tool, please file a bug against it.
When filing the report, if the tool is not part of debhelper itself, please reference the
"Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
(in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz)
Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
For a short-term work-around: Add the files to debian/not-installed
dh_missing: error: missing files, aborting
@markus2330 @mpranj Do you maybe know why this is failing? |
So should I build the package without the bindings or wait until #3522 is solved or try building it using SWIG 4.0.2 like suggested in the issue? |
Yes, please try as suggested 💖 I assigned you the issue. First try in the console: if |
Some of these things, like: libelektra/scripts/release/release.sh Line 55 in 724ec34
will have to be pushed. Otherwise we will need to reconstruct it manually. What do you think @markus2330? The alternative would be to archive all git repos completely to the artifacts. Then whoever does the release downloads the artifacts and does the push. |
I am not sure if I understand the question. I think we should keep pushing the Debian branch, at least for this release.
I thought we will do this for this release? Or simply leave it in the workspace if it gets too big for the artifacts. |
The release script merges |
e3d19cc
to
292b1e8
Compare
Long term we could consider that the release scripts also push everything. For now, yes: get the whole git repo, check it, and push it. Or did I misunderstand something? |
Yes, but the repo is not part of the artifacts, so it's up to your luck if the workspace has been cleared and to find on which agent it was done. Or am I misunderstanding something? |
In manually triggered pipelines that do not clean the workspace after running there should be no problem, at least as long we have a single stage. (With parallel stages there might be multiple workspaces on different computers.) |
The libelektra repo and the doc repo is now bundled and part of the artifacts.
We already have parallel stages. The Ubuntu Focal and the Debian Buster are built in parallel stages. |
17768a3
to
1667ca8
Compare
@robaerd this is already looking really good. Do you think we can use it for a release today or what's the state? I see that you solved most obstacles quickly. Will you do the version increments on master etc. or can I do anything that is not part of your thesis/project? |
Thank you! I hope so, but I'm still waiting for jenkins to finish the current test run.
I already updated the versions locally and will soon make a PR. Should the tasks in prep for next release be done now, or after the final jenkins release run? |
I will update the release notes on top of your PR, if this is OK for you!
Yep I will take a look too, but it is not high priority.
After everything is done and released. |
I'm getting following memory leak error in the release pipeline:
The documentation build stage is still scheduled and it will probably take a few hours till its is run, because of the PR jobs that are currently being run. But you can view the log of the release stage here and the artifacts here. |
I have no idea judging by the logs.. Can you archive the memory checker logs to the artifacts as well? Maybe they know something
I think the build dir is cleaned so I could not find it on the build agents either. |
The load was very high, it peaked at 30 (v2) and 7 (a7), now it is low again. During release it is totally fine if you pause or cancel (if you restart later) the jobs. In this specific case, however, it will not help as #3540 is relevant for the release. |
I am actively aborting any irrelevant jobs from my side to keep the infrastructure available for release testing. Only really needed other tests are running. |
I archived the logs. Until the job is done the memory checker logs can already be accessed here |
When setting the |
Installing the deb package requires root permissions in the container which currently is not possible to obtain.
If the documentation is not built, the external-links.txt will not be generated and therefore the link-checker script will fail.
The documentation is now built on a separate stage, therefore the function is no longer necessary in the script
b9fcfb8
to
1592b32
Compare
@robaerd please ping me when you think you are done and it makes sense for me to take a look and do the release. As Markus already mentioned don't spend too much time on perfecting every detail. When doing a release by hand mistakes can also happen. Your work will even enable us to release fixes more quickly. A note for later: currently the memchecks are failing (irrelevant as Markus said), but no red flag is raised. I think in the long run we should either abort or somehow make it really clear when a step of the release failed. Otherwise it would be easy to overlook when reading 50k lines of logs. |
I fully agree. Initially the script exited on errors, but I had to remove this configuration because of the memcheck error.
It looks like everything works like expected, so the PR can probably be already merged. The "build artifacts" stage on the normal jenkins pipeline will fail since the master branch is not yet merged into the debian branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, this is really great work! 🏅
I also think it's ready for master. Can you please point jenkins to the main repo after that?
@@ -0,0 +1,106 @@ | |||
FROM ubuntu:focal |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, this looks great! We should also add it to the normal pipeline.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will do this as soon as possible.
Fixes issues of the release pipeline mentioned in #3528, adds the ubuntu focal docker image and improves log output of the release script.
Basics
These points need to be fulfilled for every PR:
(added as entry in
doc/news/_preparation_next_release.md
whichcontains
_(my name)_
)Please always add something to the release notes.
(first line should have
module: short statement
syntax)close #X
, are in the commit messages.If you have any troubles fulfilling these criteria, please write
about the trouble as comment in the PR. We will help you.
But we cannot accept PRs that do not fulfill the basics.
Checklist
Check relevant points but please do not remove entries.
For docu fixes, spell checking, and similar none of these points below
need to be checked.
(not in the PR description)
Review
Reviewers will usually check the following:
Labels
If you are already Elektra developer:
say that everything is ready to be merged.