Skip to content

Replace pipenv by uv #406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 10, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

---
version: 2
enable-beta-ecosystems: true
updates:

- package-ecosystem: "github-actions"
Expand All @@ -18,7 +19,7 @@ updates:
# Check for updates to GitHub Actions every weekday
interval: "daily"

- package-ecosystem: "pip"
- package-ecosystem: "uv"
directory: "/"
schedule:
# Check for updates to pip packages every weekday
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/gitlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -65,7 +65,7 @@ jobs:
/home/runner/.ansible/roles

- name: "Run Molecule tests."
run: "pipenv run molecule test -s gitlab"
run: "uv run molecule test -s gitlab"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/gitlab_runner.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -66,8 +66,8 @@ jobs:
/home/runner/.ansible/roles

- name: "Run Molecule tests."
run: "pipenv run molecule test -s gitlab_runner"
run: "uv run molecule test -s gitlab_runner"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
AUTHENTICATION_TOKEN: "${{ secrets.authentication_token }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/haproxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -65,7 +65,7 @@ jobs:
- name: "Run Molecule tests."
# Haproxy tries to configure the nofile limit which is not allowed from within podman.
# This approach increased the limit beforehand.
run: "XDG_RUNTIME_DIR=/run/user/$UID pipenv run sudo prlimit --pid $$ --nofile=500000:500000 && pipenv run molecule test -s haproxy"
run: "XDG_RUNTIME_DIR=/run/user/$UID uv run sudo prlimit --pid $$ --nofile=500000:500000 && uv run molecule test -s haproxy"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/keepalived.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"

- name: "Run Molecule tests."
run: "pipenv run molecule test -s keepalived"
run: "uv run molecule test -s keepalived"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/netplan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -64,7 +64,7 @@ jobs:
run: "podman network create --subnet 10.123.0.0/24 netplan_network"

- name: "Run Molecule tests."
run: "pipenv run molecule test -s netplan"
run: "uv run molecule test -s netplan"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
23 changes: 14 additions & 9 deletions .github/workflows/prepare-action/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,23 @@ description: "Install the necessary dependencies for jobs."
runs:
using: "composite"
steps:
- name: "Install pipenv."
run: "pipx install pipenv"
- name: "Configure UV_PYTHON variable"
run: 'echo "UV_PYTHON=$(cat .python-version)" >> $GITHUB_ENV'
shell: "bash"
working-directory: "./ansible_collections/hifis/toolkit/"

- name: "Set up Python 3."
- name: "Set up Python 3.x"
uses: "actions/setup-python@v5"
id: "setup-python"
with:
python-version: "3.12"
cache: "pipenv"
python-version-file: "./ansible_collections/hifis/toolkit/.python-version"

- name: "Install dependencies via pipenv."
run: "pipenv install --dev"
- name: "Install uv"
uses: "astral-sh/setup-uv@v5"
with:
enable-cache: true
cache-dependency-glob: "./ansible_collections/hifis/toolkit/uv.lock"

- name: "Install dependencies via uv."
run: "uv sync --frozen"
shell: "bash"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/redis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -64,7 +64,7 @@ jobs:
/home/runner/.ansible/roles

- name: "Run Molecule tests."
run: "pipenv run molecule test -s redis"
run: "uv run molecule test -s redis"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/ssh_keys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -65,7 +65,7 @@ jobs:
/home/runner/.ansible/roles

- name: "Run Molecule tests."
run: "pipenv run molecule test -s ssh_keys"
run: "uv run molecule test -s ssh_keys"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/unattended_upgrades.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"

- name: "Run Molecule tests."
run: "pipenv run molecule test -s unattended_upgrades"
run: "uv run molecule test -s unattended_upgrades"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
6 changes: 3 additions & 3 deletions .github/workflows/zammad.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
- name: "Check out the codebase."
uses: "actions/checkout@v4"
with:
path: "ansible_collections/hifis/toolkit"
path: "./ansible_collections/hifis/toolkit"

- name: "Prepare the job environment."
uses: "./ansible_collections/hifis/toolkit/.github/workflows/prepare-action"
Expand All @@ -61,7 +61,7 @@ jobs:
/home/runner/.ansible/roles

- name: "Run Molecule tests."
run: "XDG_RUNTIME_DIR=/run/user/$UID pipenv run molecule test -s zammad"
run: "XDG_RUNTIME_DIR=/run/user/$UID uv run molecule test -s zammad"
env:
MOLECULE_IMAGE: "${{ matrix.image }}"
working-directory: "ansible_collections/hifis/toolkit"
working-directory: "./ansible_collections/hifis/toolkit"
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
*~
*.log
.idea/
.pipenv/
.venv/
.vscode/
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.13
File renamed without changes.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ After cloning the project locally the _Python_ dependencies need to be
installed:

```shell
$ pipenv install --dev
uv sync --frozen
```

As mentioned in the suggested contribution workflow above, linting and testing
Expand All @@ -138,7 +138,7 @@ and
[yamllint rules](https://yamllint.readthedocs.io/en/stable/rules.html):

```shell
$ pipenv run ansible-lint --offline
uv run ansible-lint --offline
```

### REUSE Specification Compliance
Expand All @@ -149,7 +149,7 @@ copyright information and that it thereby meets the
[REUSE Specification](https://reuse.software/spec/):

```shell
$ pipenv run reuse lint
uv run reuse lint
```

### Testing the Ansible Collection
Expand All @@ -161,7 +161,7 @@ the existing automated test cases to verify that your changes do not break
existing test cases:

```shell
$ pipenv run molecule test -s unattended_upgrades
uv run molecule test -s unattended_upgrades
```

## How are Contributors Given Credit for Their Valuable Work?
Expand Down
23 changes: 0 additions & 23 deletions Pipfile

This file was deleted.

Loading