Master failing for file and avatar upload validation ActiveRecord::RecordInvalid:
Job #1834331179 failed for bab05c7e:
bundle exec <>
- haven't recreated locally
28) UploadChecksumWorker#perform with a valid record calls calculate_checksum!
Failure/Error: connection.send(...)
ActiveRecord::RecordInvalid:
Validation failed: Avatar file format is not supported. Please try one of the following supported formats: image/png, image/jpeg, image/gif, image/bmp, image/tiff, image/vnd.microsoft.icon
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'
# ./lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'
# ./lib/gitlab/database/load_balancing/connection_proxy.rb:77:in `transaction'
# ./spec/workers/upload_checksum_worker_spec.rb:16:in `block (4 levels) in <top (required)>'
# ./spec/workers/upload_checksum_worker_spec.rb:19:in `block (4 levels) in <top (required)>'
# ./spec/spec_helper.rb:412:in `block (3 levels) in <top (required)>'
# ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
# ./spec/spec_helper.rb:403:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:399:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/application_context.rb:31:in `with_raw_context'
# ./spec/spec_helper.rb:399:in `block (2 levels) in <top (required)>'
# ./spec/support/database/query_analyzer.rb:9:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/database/query_analyzer.rb:42:in `within'
# ./spec/support/database/query_analyzer.rb:9:in `block (2 levels) in <top (required)>'
# ./spec/support/database/prevent_cross_joins.rb:102:in `block (3 levels) in <top (required)>'
# ./spec/support/database/prevent_cross_joins.rb:56:in `with_cross_joins_prevented'
# ./spec/support/database/prevent_cross_joins.rb:102:in `block (2 levels) in <top (required)>'
Failures are happening in a large number of specs that deal with file uploads. https://gitlab.com/gitlab-org/gitlab/-/pipelines/419637084/test_report had 296 rspec tests fail
Timeline
- 2021-11-30 15:57 UTC - first pipeline with these failures occurred at https://gitlab.com/gitlab-org/gitlab/-/pipelines/419413362/ retried builds passed
- 2021-11-30 16:10 - this issue is created
- 2021-11-30 17:39 - !75522 (merged) was merged to fix some errors to see if its related
- ... failures continue https://gitlab.com/gitlab-org/gitlab/-/pipelines/419652119 and https://gitlab.com/gitlab-org/gitlab/-/pipelines/419660925
Related failures
There are multiple failures that started occuring at the same time that aren't related to file or avatar upload. It seems like file uploads are broken on CI in some limited capacity
This is a non-exhaustive collection of failures from different pipelines:
Spec | Error |
---|---|
spec/features/topic_show_spec.rb |
ActiveRecord::RecordInvalid: |
ee/spec/controllers/projects/dependencies_controller_spec.rb |
Failure/Error: expect(json_response['dependencies'].length).to eq(21) |
ee/spec/requests/api/dependencies_spec.rb |
Failure/Error: expect(json_response.length).to eq(20) |
ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb |
Failure/Error: expect(codequality_degradations.size).to eq(3) |
e/spec/models/ci/build_spec.rb |
Failure/Error: expect(security_reports.get_report('sast', artifact).findings.size).to eq(5) |
ee/spec/services/security/report_summary_service_spec.rb |
Failure/Error: raise SecurityReportParserError, 'JSON parsing failed' |
ee/spec/finders/security/findings_finder_spec.rb |
Failure/Error: raise SecurityReportParserError, 'JSON parsing failed' |
ee/spec/requests/api/geo_spec.rb |
ActiveRecord::RecordInvalid: |
spec/lib/gitlab/verify/job_artifacts_spec.rb |
Failure/Error: expect(failures.keys).to contain_exactly(artifact) |
spec/lib/gitlab/ci/parsers/security/sast_spec.rb |
Failure/Error: expect(report.findings.length).to eq(finding_length) |
spec/presenters/ci/pipeline_artifacts/code_coverage_presenter_spec.rb |
`` |
spec/tasks/gitlab/lfs/check_rake_spec.rb |
NoMethodError: undefined method []' for nil:NilClass raw_report["files"] ` |
spec/serializers/integrations/project_entity_spec.rb |
ActiveRecord::RecordInvalid: |
spec/models/merge_request_spec.rb |
Failure/Error: expect(subject[:status]).to eq(:parsed) |
spec/models/integrations/jira_spec.rb |
ActiveRecord::RecordInvalid: |
spec/services/issues/import_csv_service_spec.rb |
Failure/Error: expect(subject[:success]).to eq(4) |
spec/lib/gitlab/ci/config/external/file/artifact_spec.rb |
Gitlab::Ci::Build::Artifacts::Metadata::InvalidStreamError: not in gzip format |
spec/lib/gitlab/verify/uploads_spec.rb |
ActiveRecord::RecordInvalid: |
spec/services/projects/fork_service_spec.rb |
ActiveRecord::RecordInvalid: |
spec/helpers/groups_helper_spec.rb |
ActiveRecord::RecordInvalid: |
spec/uploaders/workers/object_storage/migrate_uploads_worker_spec.rb |
ActiveRecord::RecordInvalid: |
spec/workers/upload_checksum_worker_spec.rb |
ActiveRecord::RecordInvalid: |
spec/lib/api/entities/public_group_details_spec.rb |
ActiveRecord::RecordInvalid: |
Edited by Kyle Wiebers