Create a separate table to store a list of projects using pages

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Problem to solve / Proposal

Currently, we don't really know how many projects do use GitLab Pages. We can know that indirectly by querying pages:deploy status, but this is an expensive call as it has to walk through ci_builds table.

We indirectly also know that via pages_domains, but this is only for projects that use an external domain, but projects can still use my-group.gitlab.io which is not tracked.

Ideally, if we could do:

INSERT INTO project_pages_settings
  SELECT project_id, true as enabled
  FROM ci_builds
  WHERE "ci_builds"."type" IN ('GenericCommitStatus')
    AND "ci_builds"."name" = 'pages:deploy'
  GROUP BY project_id

Where project_pages_settings would be a new table consisting out of project_id, enabled only.

Links / references

Not sure.

Edited Aug 25, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading