Skip to content

Raise artifacts bulk delete selection limit to 100

What does this MR do and why?

For Job artifacts management: Allow to delete more ... (#419588)

Raise artifacts bulk delete selection limit to 100

Also refactor to use backend as single source of truth: Instead of defining a separate frontend SELECTED_ARTIFACTS_MAX_COUNT, use the helper to forward the JOB_ARTIFACTS_COUNT_LIMIT from the backend and provide it to the Vue app as jobArtifactsCountLimit

Changelog: changed

Screenshots or screen recordings

Before After
Screen_Recording_2023-11-29_at_12.40.17 Screen_Recording_2023-11-29_at_12.37.08

How to set up and validate locally

git checkout raise-artifacts-bulk-delete-selection-limit
  1. find/make a project with a pipeline that generates artifacts
you can use this CI yaml to generate some sample artifacts:
# .gitlab-ci.yml

potato:
  stage: build
  script:
    - echo 'potato' >> potato.txt
  artifacts:
    expose_as: 'potato'
    paths: ['potato.txt']

tomato:
  stage: build
  script:
    - echo 'tomato' >> tomato.txt
  artifacts:
    expose_as: 'tomato'
    paths: ['tomato.txt']

pineapple:
  stage: build
  script:
    - echo 'pineapple' >> pineapple.txt
  artifacts:
    expose_as: 'pineapple'
    paths: ['pineapple.txt']

apple:
  stage: build
  script:
    - echo 'apple' >> apple.txt
  artifacts:
    expose_as: 'apple'
    paths: ['apple.txt']
  1. run enough pipelines for that project that >100 artifact files are shown on the artifacts page (Project sidebar => Build => Artifacts)
  2. verify that you can only select 100 artifacts at a time for deletion

Alternatively, you can set JOB_ARTIFACTS_COUNT_LIMIT in bulk_delete_by_project_service.rb to a lower number, then follow the steps above but check that you can only select that number of artifacts for deletion.

to run tests

yarn install && yarn jest ci/artifacts/components
bundle install && bundle exec rspec spec/helpers/artifacts_helper_spec.rb

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Miranda Fluharty

Merge request reports