Problem/Motivation
Compressed files, binaries, and databases are difficult to maintain and inspect.
You can see an example here:
See the change core/tests/fixtures/config_install/multilingual.tar.gz in this MR: https://git.drupalcode.org/project/drupal/-/merge_requests/5282/diffs#di...
The only changes were to update the compressed views config but there is no way for a reviewer to see that. The only way they could see what was changed would be to extract it before the commit, after the commit and do a manual diff.
Background information
This was first reported to the Drupal security team who determined this could be a public followup.
- security.drupal.org private issue: https://security.drupal.org/node/180341
(included for reference. Please do not report access denied as an error.)
Steps to reproduce
Proposed resolution
Remaining tasks
Here are all of the zipped files found with
find . -iname *gz
#3455818: Decompress files for update_test_new_module
./core/modules/update/tests/update_test_new_module/8.x-1.0/update_test_new_module.tar.gz
./core/modules/update/tests/update_test_new_module/8.x-1.1/update_test_new_module.tar.gz
./core/modules/update/tests/update_test_new_module/8.x-1.1/update_test_new_module.zip
./core/modules/update/tests/update_test_new_module/8.x-1.0/update_test_new_module.zip
#3455819: Removed unused aaa_update_test.tar.gz
./core/modules/update/tests/aaa_update_test.tar.gz
#3403649: Rework database update tests so we don't have to ship database dumps in git
core/modules/system/tests/fixtures/update/drupal-11.3.0.bare.standard.php.gz
core/modules/system/tests/fixtures/update/drupal-11.3.0.filled.standard.php.gz
#3455820: Decompress files for config_install testing
./core/tests/fixtures/config_install/multilingual.tar.gz
./core/tests/fixtures/config_install/testing_config_install.tar.gz
./core/tests/fixtures/config_install/testing_config_install_no_config.tar.gz
User interface changes
None
API changes
May require test process updates since current tests grab config and or databases from the repository.
Data model changes
Unknown
Release notes snippet
TBD
| Comment | File | Size | Author |
|---|
Issue fork drupal-3455714
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3455714-drupal-should-not
changes, plain diff MR !8457
Comments
Comment #2
nicxvan commentedI wasn't sure which component this should be for since most of it is related to testing.
Comment #3
nicxvan commentedComment #5
nicxvan commentedI did a really rough POC for converting the multilingual config from a tar to just a directory that gets copied just to see if things work as expected.
This still needs cleanup, discussion and work.
I'm going to mark as needs review for the approach.
I also had to rebase, not sure how it was out of sync since I just created the branch, but that should be resolved now. I'm not super worried since this is meant more as a poc.
Comment #6
nicxvan commentedAlso not sure why the title of the MR pulled from a cherry picked commit. I used the ui...
I'm asking in slack I assume something went awry, still, just a POC
Comment #7
nicxvan commented@fjgarlin helped, I created the issue with 11.0.x rather than 11.x-dev
Comment #8
nicxvan commentedHad to move the poc further along for tests to run.
Comment #9
nicxvan commentedTests are passing, I'm setting it to needs review for process.
I'm not sure if we need change records for this, I also can see each type of file we address being a separate issue.
Comment #10
needs-review-queue-bot commentedThe Needs Review Queue Bot tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".
This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.
Consult the Drupal Contributor Guide to find step-by-step guides for working with issues.
Comment #11
nicxvan commentedaaa_update_test is going to be much more complex since it is explicitly checking the extraction process. We likely need to take a similar process to the db where there is a separate gitlab process to generate them periodically.
Comment #12
nicxvan commentedI'm going to create some child issues for each type of compressed files since each type requires different approaches,
Comment #13
nicxvan commentedComment #14
nicxvan commentedComment #15
nicxvan commentedComment #17
nicxvan commentedI hid the branch here and moved it to the new child issue that I tidied up and is ready for review now.
Comment #18
nicxvan commentedComment #19
nicxvan commentedI think this issue should have a test to confirm that there are no zips or tars in the repository to confirm closure of this issue.
Comment #20
nicxvan commentedComment #21
nicxvan commentedComment #22
nicxvan commentedComment #25
quietone commentedThere is also, core/modules/config/tests/fixtures/not_just_config.tar.gz
Changing title per Special titles.