Closed tchaikov closed 7 months ago
@scylladb/scylla-maint hi maintainers, could you help review this change? i am trying to add a workflow to scylladb using github action, which failed like https://github.com/tchaikov/scylladb/actions/runs/8778841191/job/24085931123 .
would be great if we can use github's ubuntu-latest runner to perform some static analysis.
/cc @raphaelsc
I wonder if we need to regenerate the toolchain image for this PR. Does this change make a difference on fedora? I guess we should regenerate it anyway just to really test the change.
I wonder if we need to regenerate the toolchain image for this PR.
yeah, to be on the safe side, we should.
Does this change make a difference on fedora?
yes. as i am changing the feodra branch as well. but i don't have to. i did it just for the sake of completeness. what i care is but the ubuntu runner.
I guess we should regenerate it anyway just to really test the change.
if it's complicated. or does not worth the efforts. i have some workarounds:
install-dependencies.sh
in scylladb in the workflow, so that it does not call these java tools' install-dependencies.sh
(actually i am working in this direction)if it's complicated. or does not worth the efforts. i have some workarounds:
It is not complicated at all. I just execute a command and a few hours later we have the new toolchain. The hardest part is just remembering that one started a regenerate job half a day later.
i see. thank you Botond!
Actually, it is a bit more complicated because I just noticed that this is the java-tools submodule. So it needs some coordination.
Where do we use Python in scylla-tools-java ? (note that CQLSH has moved to its own repo long time ago)
Where do we use Python in scylla-tools-java ? (note that CQLSH has moved to its own repo long time ago)
$ cd ~/dev/scylladb/tools/java/
$ find . -name '*.py'
dist/debian/debian_files_gen.py
doc/scripts/convert_yaml_to_adoc.py
doc/scripts/gen-nodetool-docs.py
scripts/create-relocatable-package.py
@mykaul hi Yaniv, we are just using python to build the reloc package and debian package. for the sake of self-containness, i think it's fair to include python
(should be python3!) in the install-dependencies.sh
in this repo.
@mykaul hi Yaniv, we are just using python to build the reloc package and debian package. for the sake of self-containness, i think it's fair to include
python
(should be python3!) in theinstall-dependencies.sh
in this repo.
I don't think build-time deps should be included - especially not if it's 'just' for packaging. Moreover - two scripts are for docs only - which never/rarely change, one is for Debian package (which is just odd? Why don't we have the package metadata?) and the relocatable is the only one truly needed, no?
Started regenerating the toolchain.
I don't think build-time deps should be included - especially not if it's 'just' for packaging. Moreover - two scripts are for docs only - which never/rarely change, one is for Debian package (which is just odd? Why don't we have the package metadata?) and the relocatable is the only one truly needed, no?
I think it is very much expected by anybody executing ./install-dependencies.sh
to get all dependencies, build-time or run-time. BTW scylladb.git also pulls in python3 already, so dropping it from here will not change anything.
I don't think build-time deps should be included - especially not if it's 'just' for packaging. Moreover - two scripts are for docs only - which never/rarely change, one is for Debian package (which is just odd? Why don't we have the package metadata?) and the relocatable is the only one truly needed, no?
I think it is very much expected by anybody executing
./install-dependencies.sh
to get all dependencies, build-time or run-time. BTW scylladb.git also pulls in python3 already, so dropping it from here will not change anything.
OK, was hoping to slowly reduce our deps all around. Specifically, get rid of Python in the (future) Scylla-only container.
Started regenerating the toolchain.
PR with regenerated toolchain: https://github.com/scylladb/scylladb/pull/18394
Once CI passes, I will merge this and rebase that PR to include the submodule update.
submodule update PR: https://github.com/scylladb/scylladb/pull/18394
Removed from master, because we currently cannot generate new toolchains, due some changes around the PGO compilers. @tchaikov please re-submit this PR and I will merge once toolchains can be generated again.
@denesb thank you for your efforts. i recreated this change at #391
python is EOL. and the scripts in this repo actually are using python3 instead python:
also, "python" as a package name is not available in debian and and some of its derivative distros, see https://packages.debian.org/search?keywords=python&searchon=names&suite=stable§ion=all and https://packages.ubuntu.com/search?suite=jammy§ion=all&arch=any&keywords=python3&searchon=names
but python3, or better off python3-minimal is. see https://packages.debian.org/search?keywords=python3-minimal&searchon=names&suite=stable§ion=all and https://packages.ubuntu.com/search?suite=jammy§ion=all&arch=any&keywords=python3-minimal&searchon=names
ubuntu/jammy is picked, because it is currently the ubuntu-latest os provided by github workflow runners.
so, in this change, let's replace "python" with "python3", so that we can run
install-dependencies.sh
without error like: