]> _ Git - alire.git/commit
Comprehensive shared builds tests and related tweaks (#1459)
authorAlejandro R Mosteo <amosteo@unizar.es>
Wed, 27 Sep 2023 14:46:09 +0000 (16:46 +0200)
committerGitHub <noreply@github.com>
Wed, 27 Sep 2023 14:46:09 +0000 (16:46 +0200)
commit2753a7c9696f49ea6568244526b4b0065f4b797e
tree1f1b9229fa9765fdc1dc64bd657492c45046c4a3
parent7fe652908a0e1342db5cd06abbba522e44a355e6
Comprehensive shared builds tests and related tweaks (#1459)

* Added `shared-build` driver

* Added `build_mode` key to the Python driver

* Fix config generation in `alr update` in shared mode

* Remove need for compiler in absence of dependencies

* Fixed monorepo tests and base dir

* Delay config generation in sandboxed mode too

* Include explicit switches in build hash inputs

This is necessary because for shared builds we're never regenerating the
configuration, so changes in switches went undetected

* Require complete config for sandboxed build

* Self-review

* Update new tests
99 files changed:
src/alire/alire-builds-hashes.adb
src/alire/alire-builds.adb
src/alire/alire-builds.ads
src/alire/alire-crate_configuration.adb
src/alire/alire-crate_configuration.ads
src/alire/alire-properties-actions-executor.adb
src/alire/alire-roots.adb
src/alire/alire-roots.ads
src/alr/alr-commands-action.adb
testsuite/README.md
testsuite/drivers/builds.py
testsuite/drivers/driver/python_script.py
testsuite/fixtures/basic_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/he/hello/hello-1.0.0.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/he/hello/hello-1.0.1.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/index.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/li/libhello/libhello-1.0.0.toml [new file with mode: 0644]
testsuite/fixtures/basic_no_compiler_index/ma/make/make-external.toml [new file with mode: 0644]
testsuite/fixtures/compiler_only_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/fixtures/compiler_only_index/index.toml [new file with mode: 0644]
testsuite/fixtures/solver_index/gn/gnat_external/gnat_external-external.toml [new file with mode: 0644]
testsuite/run.py
testsuite/skels/global-index/test.yaml
testsuite/skels/local-index/test.yaml
testsuite/skels/no-index/test.yaml
testsuite/tests/action/trigger/test.yaml
testsuite/tests/alias/basic/test.yaml
testsuite/tests/build/hashes/compiler-input/test.py
testsuite/tests/build/hashes/compiler-input/test.yaml
testsuite/tests/build/hashes/compiler-missing/test.py
testsuite/tests/build/hashes/compiler-missing/test.yaml
testsuite/tests/build/hashes/config-types/test.py
testsuite/tests/build/hashes/config-types/test.yaml
testsuite/tests/build/hashes/hashing-inputs/test.py
testsuite/tests/build/hashes/hashing-inputs/test.yaml
testsuite/tests/build/hashes/incomplete-config/test.py
testsuite/tests/build/hashes/incomplete-config/test.yaml
testsuite/tests/build_profile/alr_build_switches/test.py
testsuite/tests/build_profile/alr_build_switches/test.yaml
testsuite/tests/build_profile/custom_profiles/test.yaml
testsuite/tests/build_profile/custom_switches/test.yaml
testsuite/tests/build_profile/default/test.yaml
testsuite/tests/build_profile/get-build-profile/test.yaml
testsuite/tests/build_profile/recursive/test.py
testsuite/tests/build_profile/recursive/test.yaml
testsuite/tests/config/missing-config-default/test.py
testsuite/tests/config/missing-config-default/test.yaml
testsuite/tests/config/shared-deps/test.py
testsuite/tests/config/shared-deps/test.yaml
testsuite/tests/crate_config/basic/test.yaml
testsuite/tests/crate_config/gen_control/test.yaml
testsuite/tests/crate_config/value_conflict/test.py
testsuite/tests/dockerized/misc/default-cache/test.py
testsuite/tests/exec/basic/test.py
testsuite/tests/exec/with_project/test.yaml
testsuite/tests/get/external-tool-dependency/test.py
testsuite/tests/get/git-local/test.py
testsuite/tests/get/unpack-in-place/test.py
testsuite/tests/index/bad-config-vars/test.py
testsuite/tests/install/dynamic-linking/test.yaml
testsuite/tests/install/executable-dependency/test.yaml
testsuite/tests/install/static-linking/test.yaml
testsuite/tests/misc/git-ungit/test.py
testsuite/tests/misc/sync-manual-edit/test.py
testsuite/tests/misc/sync-manual-edit/test.yaml
testsuite/tests/misc/sync-missing-deps/test.py
testsuite/tests/misc/sync-missing-deps/test.yaml
testsuite/tests/monorepo/basic/test.py
testsuite/tests/monorepo/basic/test.yaml
testsuite/tests/monorepo/doubly-nested/test.py
testsuite/tests/monorepo/doubly-nested/test.yaml
testsuite/tests/monorepo/multi-commit/test.py
testsuite/tests/monorepo/multi-commit/test.yaml
testsuite/tests/pin/downgrade/test.py
testsuite/tests/pin/downgrade/test.yaml
testsuite/tests/pin/equivalent/test.py
testsuite/tests/pin/equivalent/test.yaml
testsuite/tests/pin/from-subdir/test.yaml
testsuite/tests/pin/post-update/test.yaml
testsuite/tests/pin/remote/test.yaml
testsuite/tests/pin/to-parent/test.yaml
testsuite/tests/printenv/basic/test.py
testsuite/tests/printenv/env-during-fetch/test.py
testsuite/tests/printenv/env-during-fetch/test.yaml
testsuite/tests/printenv/linked-paths/test.yaml
testsuite/tests/publish/check-properties/test.yaml
testsuite/tests/publish/pin-removal/test.yaml
testsuite/tests/publish/remote-origin-nonstd/test.py
testsuite/tests/publish/remote-origin/test.py
testsuite/tests/solver/compiler-installed/test.py
testsuite/tests/update/selective/test.yaml
testsuite/tests/with/auto-gpr-with/gpr_in_subdir/test.py
testsuite/tests/with/auto-gpr-with/gpr_in_subdir/test.yaml
testsuite/tests/with/changes-info/test.yaml
testsuite/tests/with/equivalent/test.yaml
testsuite/tests/workflows/actions-as-dependency/test.py
testsuite/tests/workflows/actions-as-dependency/test.yaml
testsuite/tests/workflows/actions-as-root/test.yaml
testsuite/tests/workflows/get-build-run-clean/test.yaml