Skip to content

build(dev): replace gitlabform development toolkit shortcuts with one entrypoint - #1409

Merged
amimas merged 4 commits into
gitlabform:mainfrom
amimas:glf-dev
Sep 3, 2026
Merged

amimas merged 4 commits into
gitlabform:mainfrom
amimas:glf-dev

Conversation

@amimas

@amimas amimas commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Currently we have a separate package that's used as a development toolkit. This is intended for development of gitlabform itself. The toolkit (cli) gives domain based options for various tasks such as: buiding and verifying python package, running linters, starting up a local gitalb instance, running tests, etc. Almost all of these commands are also used in the CI process. This keeps dev and CI process in sync.

When this toolkit was setup, they were added in pyproject.toml under the [project.scripts] configuration section. I found recently that this results in an expected behaviour. Each items becomes installed globally. For example: within the gitlabform repo, we can run uv run dev -h, but it also possible to run dev -h from anywhere, even outside the repository.

Each of the items from the dev toolkit that were added there was inteded as a shortcut. For example: instead of running uv run dev workspace setup, we can run uv run workspace setup. Because these are installed/available globally, it has a bigger consequence when there are naming collision. For example, the toolkit provides command uv run dev docker build or uv run docker build. Since the docker command from this toolkit becomes available globally, it collides with standard docker-cli.

This PR fixes the above issue in following ways:

  • Rename the dev toolkit's entrypoint from dev to glf-dev. This way it's clear what this is referring to while keeping the name short for convenience.
  • Removed all the shortcut entrypoints that were added before. Now all commands has to go through glf-dev. For example: uv run glf-dev <command> <option>
  • Since glf-dev becomes available globally, added a check so that running glf-dev outside the gitlabform repo will not run or execute because it won't function as intended outside of the repo anyways.

@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 18:04 — with GitHub Actions Error
@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 18:04 — with GitHub Actions Error
@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 18:10 — with GitHub Actions Failure
@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 18:10 — with GitHub Actions Failure
Comment on lines +42 to +44
run: uv run --no-sync glf-dev gitlab-local up --gitlab-flavor ${{ matrix.flavor }}
- name: Run Standard acceptance tests for ${{ matrix.flavor }} flavor
run: uv run --no-sync qa test tests/acceptance/standard --cov=. --cov-report=xml --durations=0 --reruns 3 --reruns-delay 10 --log-cli-level=WARNING
run: uv run --no-sync glf-dev qa test tests/acceptance/standard --cov=. --cov-report=xml --durations=0 --reruns 3 --reruns-delay 10 --log-cli-level=WARNING

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the acceptance tests are failing because they are run with pull_request_target for the workflow. So, they are not using the workflow updates from this branch. That's why the CI is still triggering uv run --no-sync gitlab-local (notice it's missing glf-dev).

There were no changes to gitlabform code. So, it should be okay to merge this as is.

@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 19:56 — with GitHub Actions Failure
@amimas
amimas had a problem deploying to Integrate Pull Request August 29, 2026 19:56 — with GitHub Actions Failure
@rickbrouwer

Copy link
Copy Markdown
Collaborator

I still need to take a good look at the whole thing, but could you check the following in the meantime?

Some files like dev/package.py and dev/gitlab/run_gitlab_in_docker.sh still print hints using the removed commands, and the gh_workflow_check docstring in dev/release.py does too.

Some shortcut functions indev/main.py look unreachable now. Wdyt, update them or can they go?

And a small nit: dev/common.py already defines REPO_ROOT.

@amimas

amimas commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator Author

Good catch!! Thanks @rickbrouwer

Should clean it up now on this PR. I'll push an update soon when I can.

amimas added 3 commits August 30, 2026 22:11
Remove duplicate repo-root definition and obsolete domain shortcut
entrypoints (workspace, qa, docs, package, docker, release, gitlab-local)
that became unreachable after consolidating all commands under the glf-dev
entrypoint. Update stale command hints in help text to reference the new
glf-dev prefix.

@rickbrouwer rickbrouwer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@amimas
amimas had a problem deploying to Integrate Pull Request September 3, 2026 02:30 — with GitHub Actions Failure
@amimas
amimas had a problem deploying to Integrate Pull Request September 3, 2026 02:30 — with GitHub Actions Failure
@amimas
amimas merged commit a0eccd9 into gitlabform:main Sep 3, 2026
19 of 23 checks passed
amimas added a commit to amimas/gitlabform that referenced this pull request Sep 12, 2026
* build(deps-dev): bump cryptography in the testing group (gitlabform#1411)

Bumps the testing group with 1 update: [cryptography](https://github.com/pyca/cryptography).


Updates `cryptography` from 50.0.0 to 50.0.1
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@50.0.0...50.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ruff in the linting group across 1 directory (gitlabform#1412)

Bumps the linting group with 1 update in the / directory: [ruff](https://github.com/astral-sh/ruff).


Updates `ruff` from 0.16.3 to 0.16.4
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.3...0.16.4)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: linting
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump the documentation group across 1 directory with 2 updates (gitlabform#1413)

Bumps the documentation group with 2 updates in the / directory: [zensical](https://github.com/zensical/zensical) and [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions).


Updates `zensical` from 0.0.56 to 0.0.57
- [Release notes](https://github.com/zensical/zensical/releases)
- [Commits](zensical/zensical@v0.0.56...v0.0.57)

Updates `pymdown-extensions` from 11.0.1 to 11.0.2
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](facelessuser/pymdown-extensions@11.0.1...11.0.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 11.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: documentation
- dependency-name: zensical
  dependency-version: 0.0.57
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: documentation
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump prek in the release-tools group across 1 directory (gitlabform#1414)

Bumps the release-tools group with 1 update in the / directory: [prek](https://github.com/j178/prek).


Updates `prek` from 0.4.14 to 0.5.0
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md)
- [Commits](j178/prek@v0.4.14...v0.5.0)

---
updated-dependencies:
- dependency-name: prek
  dependency-version: 0.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: release-tools
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump JamesIves/github-pages-deploy-action (gitlabform#1415)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.8.0 to 4.9.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.8.0...v4.9.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-version: 4.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github/codeql-action from 4.37.5 to 4.37.9 (gitlabform#1416)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.37.5 to 4.37.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@v4.37.5...v4.37.9)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.37.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(dev): replace gitlabform development toolkit shortcuts with one entrypoint (gitlabform#1409)

* refactor(badges): migrate badges processor to python-gitlab (gitlabform#1388)

* build(deps-dev): bump the testing group with 2 updates (gitlabform#1417)

Bumps the testing group with 2 updates: [coverage](https://github.com/coveragepy/coveragepy) and [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures).


Updates `coverage` from 7.15.4 to 7.16.0
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.15.4...7.16.0)

Updates `pytest-rerunfailures` from 16.6 to 16.6.1
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst)
- [Commits](pytest-dev/pytest-rerunfailures@16.6...16.6.1)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: pytest-rerunfailures
  dependency-version: 16.6.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ruff in the linting group across 1 directory (gitlabform#1418)

Bumps the linting group with 1 update in the / directory: [ruff](https://github.com/astral-sh/ruff).


Updates `ruff` from 0.16.4 to 0.16.5
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.4...0.16.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: linting
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump prek in the release-tools group across 1 directory (gitlabform#1420)

Bumps the release-tools group with 1 update in the / directory: [prek](https://github.com/j178/prek).


Updates `prek` from 0.5.0 to 0.5.2
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md)
- [Commits](j178/prek@v0.5.0...v0.5.2)

---
updated-dependencies:
- dependency-name: prek
  dependency-version: 0.5.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: release-tools
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump zensical (gitlabform#1419)

Bumps the documentation group with 1 update in the / directory: [zensical](https://github.com/zensical/zensical).


Updates `zensical` from 0.0.57 to 0.0.58
- [Release notes](https://github.com/zensical/zensical/releases)
- [Commits](zensical/zensical@v0.0.57...v0.0.58)

---
updated-dependencies:
- dependency-name: zensical
  dependency-version: 0.0.58
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: documentation
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): reduce uv dev dependency update cadence

- Split uv updates into production and development dependency groups
- Keep runtime deps on the normal weekly schedule
- Set dev deps to a monthly schedule to reduce update noise
- Merge overlapping test/lint patterns into a single dev tooling group
- Keep documentation and release tooling groups separate

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rick Brouwer <[email protected]>

This branch had an error being deployed

1 failed deployment
Integrate Pull Request — 6284d749 Deployed Sep 3, 2026 by amimas via Acceptance Tests / GitLab Premium #219
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants