Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
fdf9333
added dependency-update workflow template
Rimsha2535 Mar 19, 2026
67e8357
Add dependency-update workflow template and update tests
Rimsha2535 Apr 13, 2026
e764019
Merge branch 'main' into feature/dependency-update-workflow
Rimsha2535 Apr 13, 2026
c9c53e6
Apply review feedback for dependency update workflow
Rimsha2535 Apr 14, 2026
c05e242
Merge branch 'main' into feature/dependency-update-workflow
ArBridgeman Apr 15, 2026
cea77fd
Improve dependency update workflow, tests, and docs
Rimsha2535 Apr 20, 2026
9844688
Merge branch 'main' into feature/dependency-update-workflow
ArBridgeman Apr 29, 2026
454f20e
Merge branch 'main' into feature/dependency-update-workflow
ArBridgeman Apr 29, 2026
49145b9
Fix release:prepare test
ArBridgeman Apr 29, 2026
bf38243
Update PTB workflows to 7.0.0
ArBridgeman Apr 29, 2026
b59c5b5
Add Slack reporting hook
ArBridgeman May 4, 2026
85c89d2
Add entry to unreleased.md changelog
ArBridgeman May 4, 2026
a882d41
Update .github/workflows/dependency-update.yml
Rimsha2535 May 6, 2026
eec5503
Update .github/workflows/dependency-update.yml
Rimsha2535 May 6, 2026
4bb47a9
Update .github/workflows/dependency-update.yml
Rimsha2535 May 6, 2026
a4c95e3
Update .github/workflows/dependency-update.yml
Rimsha2535 May 6, 2026
8ec9d68
Update .github/workflows/dependency-update.yml
Rimsha2535 May 6, 2026
7ee7359
Merge branch 'main' into feature/dependency-update-workflow
Rimsha2535 May 6, 2026
9e18007
Add slack_hook
Rimsha2535 May 4, 2026
ee5f3ab
Resolve merge conflicts
Rimsha2535 May 6, 2026
6f64290
Copy dependency-update workflow changes to template
Rimsha2535 May 6, 2026
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
60 changes: 60 additions & 0 deletions .github/workflows/dependency-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Dependency Update
Comment thread
ArBridgeman marked this conversation as resolved.
Comment thread
Rimsha2535 marked this conversation as resolved.
Comment thread
ArBridgeman marked this conversation as resolved.

on:
schedule:
# Every Monday at 03:00 UTC
- cron: "0 3 * * 1"
workflow_dispatch:

jobs:
dependency-update:
name: Dependency Update
runs-on: "ubuntu-24.04"
permissions:
contents: write
pull-requests: write

steps:
- name: Check out Repository
id: check-out-repository
uses: actions/checkout@v6

- name: Set up Python & Poetry Environment
id: set-up-python-and-poetry-environment
uses: exasol/python-toolbox/.github/actions/python-environment@v6
with:
python-version: "3.10"
poetry-version: "2.3.0"

- name: Audit Dependencies
Comment thread
ckunki marked this conversation as resolved.
id: audit-dependencies
run: poetry run -- nox -s dependency:audit

- name: Update Dependencies
id: update-dependencies
run: poetry update

- name: Check for poetry.lock Changes
id: check-for-poetry-lock-changes
run: |
if git diff --quiet -- poetry.lock; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi

- name: Create Pull Request
id: create-pull-request
if: steps.check-for-poetry-lock-changes.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v7
with:
commit-message: "Update poetry.lock"
branch: dependency-update/poetry-lock
delete-branch: true
title: "Update poetry.lock"
body: |-
Automated dependency update for `poetry.lock`.

This PR was created by the dependency update workflow after running:
- `poetry run -- nox -s dependency:audit`
- `poetry update`
14 changes: 14 additions & 0 deletions doc/github_actions/dependency_update.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
dependency-update
=================

This workflow updates the project dependencies using Poetry.
Comment thread
Rimsha2535 marked this conversation as resolved.
Outdated

It first runs a dependency audit via ``nox -s dependency:audit`` and then updates the dependencies using ``poetry update``.
If the ``poetry.lock`` file changes, a pull request is created automatically.

Example Usage
Comment thread
Rimsha2535 marked this conversation as resolved.
Outdated
-------------

.. code-block:: bash

tbx workflow install dependency-update
1 change: 1 addition & 0 deletions doc/github_actions/github_actions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@

python_environment
security_issues
dependency_update
60 changes: 60 additions & 0 deletions exasol/toolbox/templates/github/workflows/dependency-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Dependency Update

on:
schedule:
# Every Monday at 03:00 UTC
- cron: "0 3 * * 1"
workflow_dispatch:
Comment thread
ArBridgeman marked this conversation as resolved.

jobs:
dependency-update:
name: Dependency Update
runs-on: "(( os_version ))"
permissions:
contents: write
pull-requests: write

steps:
- name: Check out Repository
id: check-out-repository
uses: actions/checkout@v6

- name: Set up Python & Poetry Environment
id: set-up-python-and-poetry-environment
uses: exasol/python-toolbox/.github/actions/python-environment@v6
with:
python-version: "(( minimum_python_version ))"
poetry-version: "(( dependency_manager_version ))"

- name: Audit Dependencies
id: audit-dependencies
run: poetry run -- nox -s dependency:audit
Comment thread
ArBridgeman marked this conversation as resolved.
Outdated

- name: Update Dependencies
id: update-dependencies
run: poetry update

- name: Check for poetry.lock Changes
id: check-for-poetry-lock-changes
run: |
if git diff --quiet -- poetry.lock; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi

- name: Create Pull Request
id: create-pull-request
if: steps.check-for-poetry-lock-changes.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v7
Comment thread
ArBridgeman marked this conversation as resolved.
Outdated
with:
commit-message: "Update poetry.lock"
branch: dependency-update/poetry-lock
delete-branch: true
title: "Update poetry.lock"
body: |
Automated dependency update for `poetry.lock`.

This PR was created by the dependency update workflow after running:
- `poetry run -- nox -s dependency:audit`
- `poetry update`
25 changes: 17 additions & 8 deletions test/integration/tools/workflow_integration_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ def test_with_default(cli_runner):
"check-release-tag\n"
"checks\n"
"ci\n"
"dependency-update\n"
"gh-pages\n"
"matrix-all\n"
"matrix-exasol\n"
Expand All @@ -33,14 +34,20 @@ def test_with_columns(cli_runner):
result = cli_runner.invoke(CLI, ["list", "--columns"])

assert result.exit_code == 0
assert result.output == (
"build-and-publish cd check-release-tag checks ci "
"gh-pages\n"
"matrix-all matrix-exasol matrix-python merge-gate pr-merge "
"report \n"
"slow-checks \n"
)

assert "build-and-publish" in result.output
assert "cd" in result.output
assert "check-release-tag" in result.output
assert "checks" in result.output
assert "ci" in result.output
assert "dependency-update" in result.output
assert "gh-pages" in result.output
assert "matrix-all" in result.output
assert "matrix-exasol" in result.output
assert "matrix-python" in result.output
assert "merge-gate" in result.output
assert "pr-merge" in result.output
assert "report" in result.output
assert "slow-checks" in result.output
Comment thread
ArBridgeman marked this conversation as resolved.
Outdated

def test_show_workflow(cli_runner):
result = cli_runner.invoke(CLI, ["show", "checks"])
Expand All @@ -57,6 +64,7 @@ def test_show_workflow(cli_runner):
"check-release-tag",
"checks",
"ci",
"dependency-update",
"gh-pages",
"matrix-all",
"matrix-exasol",
Expand Down Expand Up @@ -92,6 +100,7 @@ def test_all_workflows(cli_runner, tmp_path):
"check-release-tag.yml",
"checks.yml",
"ci.yml",
"dependency-update.yml",
"gh-pages.yml",
"matrix-all.yml",
"matrix-exasol.yml",
Expand Down
Loading