Compare commits

...

37 Commits

Author SHA1 Message Date
95de56be42 chore(pip-prod)(deps): bump pyyaml from 6.0.1 to 6.0.2
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/main/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0.1...6.0.2)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 18:12:51 +01:00
5cc5aa3718 chore(pip-prod)(deps): bump attrs from 24.1.0 to 24.2.0
Bumps [attrs](https://github.com/sponsors/hynek) from 24.1.0 to 24.2.0.
- [Commits](https://github.com/sponsors/hynek/commits)

---
updated-dependencies:
- dependency-name: attrs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 18:29:31 +01:00
413560e6e2 chore(pip-prod)(deps): bump astroid from 3.3.0 to 3.3.1
Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/pylint-dev/astroid/releases)
- [Changelog](https://github.com/pylint-dev/astroid/blob/main/ChangeLog)
- [Commits](https://github.com/pylint-dev/astroid/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: astroid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06 17:31:50 +01:00
f198798a89 chore(pip-prod)(deps): bump astroid from 3.2.4 to 3.3.0
Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.2.4 to 3.3.0.
- [Release notes](https://github.com/pylint-dev/astroid/releases)
- [Changelog](https://github.com/pylint-dev/astroid/blob/main/ChangeLog)
- [Commits](https://github.com/pylint-dev/astroid/compare/v3.2.4...v3.3.0)

---
updated-dependencies:
- dependency-name: astroid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 22:23:21 +01:00
9e9266ed94 chore(pip-prod)(deps): bump pycodestyle from 2.12.0 to 2.12.1
Bumps [pycodestyle](https://github.com/PyCQA/pycodestyle) from 2.12.0 to 2.12.1.
- [Release notes](https://github.com/PyCQA/pycodestyle/releases)
- [Changelog](https://github.com/PyCQA/pycodestyle/blob/main/CHANGES.txt)
- [Commits](https://github.com/PyCQA/pycodestyle/compare/2.12.0...2.12.1)

---
updated-dependencies:
- dependency-name: pycodestyle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 22:02:19 +01:00
d3ba06fa0b chore(pip-prod)(deps): bump attrs from 23.2.0 to 24.1.0
Bumps [attrs](https://github.com/sponsors/hynek) from 23.2.0 to 24.1.0.
- [Commits](https://github.com/sponsors/hynek/commits)

---
updated-dependencies:
- dependency-name: attrs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 19:18:26 +01:00
6c1c5edf04 chore: add pre-commit 2024-08-04 18:50:53 +01:00
0188d8e43d chore(pip-prod)(deps): bump pyjwt from 2.8.0 to 2.9.0
Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.8.0 to 2.9.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.8.0...2.9.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-01 18:14:57 +01:00
4994aa301d Release once per week instead of daily 2024-07-31 22:05:13 +01:00
9ad8fae9ac chore(pip-prod)(deps): bump sentry-sdk from 2.11.0 to 2.12.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.11.0...2.12.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-31 18:23:28 +01:00
59e4916711 chore(pip-prod)(deps): bump sentry-sdk from 2.10.0 to 2.11.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.10.0 to 2.11.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.10.0...2.11.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 18:34:26 +01:00
437c9d87d1 chore(pip-prod)(deps): bump astroid from 3.2.3 to 3.2.4
Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/pylint-dev/astroid/releases)
- [Changelog](https://github.com/pylint-dev/astroid/blob/main/ChangeLog)
- [Commits](https://github.com/pylint-dev/astroid/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: astroid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 18:40:08 +01:00
4bd87538dd Stop release flow if no new release 2024-07-16 19:11:03 +01:00
69f5dfaf20 chore(pip-prod)(deps): bump sentry-sdk from 2.9.0 to 2.10.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.9.0...2.10.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 20:58:43 +01:00
82bcffc498 Move to shared workflows 2024-07-13 12:26:17 +01:00
f3b4b61f45 chore(actions)(deps): bump docker/build-push-action from 4.0.0 to 6.3.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.0.0 to 6.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](3b5e8027fc...1a162644f9)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 12:07:00 +01:00
c60494ce60 chore(actions)(deps): bump docker/login-action
Bumps [docker/login-action](https://github.com/docker/login-action) from 65b78e6e13532edd9afa3aa52ac7964289d1a9c1 to 0d4c9c5ea7693da7b068278f7b52bda2a190a446.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](65b78e6e13...0d4c9c5ea7)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 11:59:52 +01:00
d9b815b664 chore(actions)(deps): bump docker/metadata-action
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 to a64d0487d7069df33b279515d35d60fa80e2ea62.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](9ec57ed1fc...a64d0487d7)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-13 11:56:53 +01:00
50d8f81c63 Fix attestation 2024-07-13 11:48:27 +01:00
6985f4dbe8 Switch to new Docker driver 2024-07-13 11:39:59 +01:00
a314379091 Fix auto Docker tag creation 2024-07-13 11:36:49 +01:00
6e4d78cfcd Fix auto Docker tag creation 2024-07-13 11:33:09 +01:00
6832c03f8d Fix auto Docker tag creation 2024-07-13 11:29:24 +01:00
2cf102db5d Fix create_docker 2024-07-13 11:22:33 +01:00
cfdc7311d2 Fix create_docker 2024-07-13 11:21:37 +01:00
b22363a87f Trigger Docker flow from Release flow 2024-07-13 11:18:27 +01:00
6674fccb6a Fix Docker deployment 2024-07-13 11:10:21 +01:00
eb4f19ee3f Fix Docker attestation 2024-07-13 11:05:56 +01:00
014085f693 Fix publish workflow 2024-07-13 11:02:18 +01:00
3f318d6d70 Migrate Renovate from next to main 2024-07-13 10:53:24 +01:00
43696f16e1 Revamp GH Actions to eliminate next->main 2024-07-13 10:47:21 +01:00
3cf66ab503 Update build/deploy 2024-07-13 10:37:39 +01:00
a808a51c6d Disable auto-deploy 2024-07-13 10:35:02 +01:00
4ff8f90225 chore(pip-prod)(deps): bump astroid from 3.2.2 to 3.2.3
Bumps [astroid](https://github.com/pylint-dev/astroid) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/pylint-dev/astroid/releases)
- [Changelog](https://github.com/pylint-dev/astroid/blob/main/ChangeLog)
- [Commits](https://github.com/pylint-dev/astroid/compare/v3.2.2...v3.2.3)

---
updated-dependencies:
- dependency-name: astroid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-12 19:41:14 +01:00
e8d8058278 chore(pip-prod)(deps): bump sentry-sdk from 2.7.1 to 2.9.0
Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.7.1 to 2.9.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.7.1...2.9.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-12 19:37:51 +01:00
9714080a5d fix: requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-ZIPP-7430899
2024-07-12 19:32:19 +01:00
0e70b9c959 chore(pip-prod)(deps): bump tomlkit from 0.12.5 to 0.13.0
Bumps [tomlkit](https://github.com/sdispater/tomlkit) from 0.12.5 to 0.13.0.
- [Release notes](https://github.com/sdispater/tomlkit/releases)
- [Changelog](https://github.com/python-poetry/tomlkit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sdispater/tomlkit/compare/0.12.5...0.13.0)

---
updated-dependencies:
- dependency-name: tomlkit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 07:18:48 +01:00
10 changed files with 178 additions and 92 deletions

32
.github/renovate.json vendored
View File

@ -1,47 +1,47 @@
{
"assignAutomerge": true,
"assigneesFromCodeOwners": true,
"baseBranches": [
"main"
],
"dependencyDashboardAutoclose": true,
"extends": [
"config:base",
":semanticCommits",
":semanticCommitTypeAll(fix)"
],
"baseBranches": [
"next"
],
"platformCommit": true,
"dependencyDashboardAutoclose": true,
"assignAutomerge": true,
"assigneesFromCodeOwners": true,
"rebaseWhen": "behind-base-branch",
"rollbackPrs": true,
"labels": [
"dependencies"
],
"packageRules": [
{
"labels": [
"linting"
],
"matchPackagePatterns": [
"black",
"pylint"
],
"labels": [
"linting"
]
},
{
"labels": [
"unit-tests"
],
"matchPackagePatterns": [
"coverage",
"pytest"
],
"labels": [
"unit-tests"
]
}
],
"platformCommit": true,
"rebaseWhen": "behind-base-branch",
"rollbackPrs": true,
"vulnerabilityAlerts": {
"commitMessagePrefix": "[SECURITY] ",
"enabled": true,
"labels": [
"security"
],
"commitMessagePrefix": "[SECURITY] ",
"prCreation": "immediate"
}
}

64
.github/workflows-old/release.yml vendored Normal file
View File

@ -0,0 +1,64 @@
name: Build
on:
push:
branches: [main]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
new_tag: ${{ steps.tag_version.outputs.new_tag }}
steps:
- uses: actions/checkout@v4
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: minor
- name: Create a GitHub release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.tag_version.outputs.new_tag }}
name: ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
generateReleaseNotes: true
publish:
name: GitHub Container Registry
runs-on: ubuntu-latest
needs: release
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin
- name: Build image for GitHub Package Registry
run: |
docker build . --file Dockerfile \
--build-arg "version=${{ needs.release.outputs.new_tag }}" \
--tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }} \
--tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push image to GitHub Package Registry
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }}
# deploy:
# name: Update Portainer Deployment
# runs-on: ubuntu-latest
# needs: publish
# steps:
# - uses: fjogeleit/http-request-action@v1
# with:
# url: ${{ secrets.PORTAINER_WEBHOOK_URL }}
# method: POST
# timeout: 60000
# preventFailureOnNoResponse: "true"

View File

@ -1,57 +1,18 @@
name: Build
name: Release
on:
push:
branches: [main]
workflow_dispatch:
schedule:
- cron: "0 9 * * 0"
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
new_tag: ${{ steps.tag_version.outputs.new_tag }}
steps:
- uses: actions/checkout@v4
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: minor
- name: Create a GitHub release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.tag_version.outputs.new_tag }}
name: ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
generateReleaseNotes: true
create_release:
name: Create Release
uses: luketainton/gha-workflows/.github/workflows/create-release.yml@main
publish:
name: GitHub Container Registry
runs-on: ubuntu-latest
needs: release
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
run: echo ${{ secrets.GHCR_ACCESS_TOKEN }} | docker login ghcr.io -u luketainton --password-stdin
- name: Build image for GitHub Package Registry
run: |
docker build . --file Dockerfile \
--build-arg "version=${{ needs.release.outputs.new_tag }}" \
--tag ghcr.io/luketainton/roboluke-tasks:${{ needs.release.outputs.new_tag }} \
--tag ghcr.io/luketainton/roboluke-tasks:latest
- name: Push image to GitHub Package Registry
run: |
docker push ghcr.io/luketainton/roboluke-tasks:latest
docker push ghcr.io/luketainton/roboluke-tasks:${{ needs.release.outputs.new_tag }}
deploy:
name: Update Portainer Deployment
runs-on: ubuntu-latest
needs: publish
steps:
- uses: fjogeleit/http-request-action@v1
with:
url: ${{ secrets.PORTAINER_WEBHOOK_URL }}
method: POST
timeout: 60000
preventFailureOnNoResponse: "true"
create_docker:
name: Create Docker Image
needs: create_release
if: ${{ needs.create_release.outputs.success == 'true' }}
uses: luketainton/gha-workflows/.github/workflows/build-push-attest-docker.yml@main
with:
release: ${{ needs.create_release.outputs.release_name }}

60
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,60 @@
fail_fast: false
minimum_pre_commit_version: 3.8.0
default_install_hook_types: [pre-commit, commit-msg]
default_language_version:
python: python3.11
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: mixed-line-ending
- id: end-of-file-fixer
- id: requirements-txt-fixer
- id: check-yaml
- id: check-added-large-files
- id: check-ast
- id: check-docstring-first
- id: check-json
- id: check-merge-conflict
- id: check-toml
- id: check-xml
- id: detect-private-key
- id: no-commit-to-branch
- id: requirements-txt-fixer
- id: name-tests-test
args: [--pytest-test-first]
- id: pretty-format-json
args: [--autofix]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.5.6
hooks:
- id: ruff-format # Run the formatter.
- id: ruff # Run the linter.
args: [--fix]
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
- id: isort
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: python-use-type-annotations
- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
hooks:
- id: pyupgrade
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v3.4.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]

View File

@ -1,8 +1,7 @@
#!/usr/bin/env python3
from zoneinfo import ZoneInfo
from datetime import datetime
from zoneinfo import ZoneInfo
def timestamp_to_date(timestamp: int) -> str:
@ -14,5 +13,6 @@ def timestamp_to_date(timestamp: int) -> str:
Returns:
str: Date in the format YYYY-MM-DD.
"""
return datetime.fromtimestamp(timestamp=timestamp, tz=ZoneInfo("UTC")).strftime("%Y-%m-%d")
return datetime.fromtimestamp(timestamp=timestamp, tz=ZoneInfo("UTC")).strftime(
"%Y-%m-%d"
)

View File

@ -1,6 +1,6 @@
appdirs==1.4.4
astroid==3.2.2
attrs==23.2.0
astroid==3.3.1
attrs==24.2.0
autopep8==2.3.1
backoff==2.2.1
certifi==2024.7.4
@ -25,19 +25,19 @@ pathspec==0.12.1
platformdirs==4.2.2
pluggy==1.5.0
py==1.11.0
pycodestyle==2.12.0
PyJWT==2.8.0
pycodestyle==2.12.1
PyJWT==2.9.0
pyparsing==3.1.2
python-dateutil==2.9.0.post0
python-dotenv==1.0.1
PyYAML==6.0.1
PyYAML==6.0.2
requests==2.32.3
requests-toolbelt==1.0.0
sentry-sdk==2.7.1
sentry-sdk==2.12.0
six==1.16.0
toml==0.10.2
tomli==2.0.1
tomlkit==0.12.5
tomlkit==0.13.0
urllib3==2.2.2
virtualenv==20.26.3
webex-bot==0.5.1
@ -45,3 +45,4 @@ webexteamssdk==1.6.1
websockets==11.0.3
wrapt==1.16.0
xmltodict==0.13.0
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability