Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
9830c5cc3a |
14
.github/dependabot.yml
vendored
14
.github/dependabot.yml
vendored
@ -6,8 +6,8 @@ updates:
|
||||
interval: "daily"
|
||||
assignees:
|
||||
- "luketainton"
|
||||
# reviewers:
|
||||
# - "luketainton"
|
||||
reviewers:
|
||||
- "luketainton"
|
||||
commit-message:
|
||||
prefix: "chore(actions)"
|
||||
include: "scope"
|
||||
@ -20,8 +20,8 @@ updates:
|
||||
interval: "daily"
|
||||
assignees:
|
||||
- "luketainton"
|
||||
# reviewers:
|
||||
# - "luketainton"
|
||||
reviewers:
|
||||
- "luketainton"
|
||||
commit-message:
|
||||
prefix: "chore(docker)"
|
||||
include: "scope"
|
||||
@ -34,11 +34,11 @@ updates:
|
||||
interval: "daily"
|
||||
assignees:
|
||||
- "luketainton"
|
||||
# reviewers:
|
||||
# - "luketainton"
|
||||
reviewers:
|
||||
- "luketainton"
|
||||
commit-message:
|
||||
prefix: "chore(pip-prod)"
|
||||
prefix-development: "chore(pip-dev)"
|
||||
include: "scope"
|
||||
labels:
|
||||
- "dependencies"
|
||||
- "dependencies"
|
2
.github/renovate.json
vendored
2
.github/renovate.json
vendored
@ -5,7 +5,7 @@
|
||||
":semanticCommitTypeAll(fix)"
|
||||
],
|
||||
"baseBranches": [
|
||||
"main"
|
||||
"next"
|
||||
],
|
||||
"platformCommit": true,
|
||||
"dependencyDashboardAutoclose": true,
|
||||
|
64
.github/workflows-old/release.yml
vendored
64
.github/workflows-old/release.yml
vendored
@ -1,64 +0,0 @@
|
||||
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"
|
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@ -11,8 +11,14 @@ on:
|
||||
- ".github/dependabot.yml"
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
uses: luketainton/gha-workflows/.github/workflows/ci-python-with-docker.yml@main
|
||||
pythonci:
|
||||
uses: luketainton/gha-workflows/.github/workflows/ci-python.yml@main
|
||||
secrets:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
||||
|
||||
dockerci:
|
||||
uses: luketainton/gha-workflows/.github/workflows/ci-docker.yml@main
|
||||
secrets:
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
|
||||
|
62
.github/workflows/release.yml
vendored
62
.github/workflows/release.yml
vendored
@ -1,18 +1,52 @@
|
||||
name: Release
|
||||
name: Build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 9 * * 0"
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
create_release:
|
||||
name: Create Release
|
||||
uses: luketainton/gha-workflows/.github/workflows/create-release.yml@main
|
||||
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 }}
|
||||
|
||||
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 }}
|
||||
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 --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"
|
||||
|
@ -15,7 +15,4 @@ RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
ENTRYPOINT ["python3", "-B", "-m", "app.main"]
|
||||
|
||||
ARG version="dev"
|
||||
ENV APP_VERSION=$version
|
||||
|
||||
COPY app /run/app
|
||||
|
@ -15,7 +15,6 @@ if config.sentry_enabled:
|
||||
dsn=config.sentry_dsn,
|
||||
enable_tracing=True,
|
||||
environment=config.environment,
|
||||
release=config.version,
|
||||
integrations=[StdlibIntegration()],
|
||||
spotlight=True
|
||||
)
|
||||
|
@ -8,7 +8,6 @@ class Config:
|
||||
def __init__(self) -> None:
|
||||
"""Configuration module."""
|
||||
self.__environment: str = os.environ.get("APP_LIFECYCLE", "DEV").upper()
|
||||
self.__version: str = os.environ["APP_VERSION"]
|
||||
self.__bot_name: str = os.environ["BOT_NAME"]
|
||||
self.__webex_token: str = os.environ["WEBEX_API_KEY"]
|
||||
self.__admin_first_name: str = os.environ["ADMIN_FIRST_NAME"]
|
||||
@ -25,11 +24,6 @@ class Config:
|
||||
"""Returns the current app lifecycle."""
|
||||
return self.__environment
|
||||
|
||||
@property
|
||||
def version(self) -> str:
|
||||
"""Returns the current app version."""
|
||||
return self.__version
|
||||
|
||||
@property
|
||||
def sentry_enabled(self) -> bool:
|
||||
"""Returns True if Sentry SDK is enabled, else False."""
|
||||
|
@ -4,4 +4,3 @@ isort
|
||||
pylint
|
||||
pylint-exit
|
||||
pytest
|
||||
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
|
||||
|
@ -1,48 +1,47 @@
|
||||
appdirs==1.4.4
|
||||
astroid==3.2.4
|
||||
astroid==3.1.0
|
||||
attrs==23.2.0
|
||||
autopep8==2.3.1
|
||||
autopep8==2.1.0
|
||||
backoff==2.2.1
|
||||
certifi==2024.7.4
|
||||
certifi==2024.2.2
|
||||
cfgv==3.4.0
|
||||
charset-normalizer==3.3.2
|
||||
click==8.1.7
|
||||
coloredlogs==15.0.1
|
||||
dill==0.3.8
|
||||
distlib==0.3.8
|
||||
filelock==3.15.4
|
||||
filelock==3.13.4
|
||||
future==1.0.0
|
||||
humanfriendly==10.0
|
||||
identify==2.6.0
|
||||
identify==2.5.35
|
||||
idna==3.7
|
||||
iniconfig==2.0.0
|
||||
lazy-object-proxy==1.10.0
|
||||
mccabe==0.7.0
|
||||
mypy-extensions==1.0.0
|
||||
nodeenv==1.9.1
|
||||
packaging==24.1
|
||||
nodeenv==1.8.0
|
||||
packaging==24.0
|
||||
pathspec==0.12.1
|
||||
platformdirs==4.2.2
|
||||
pluggy==1.5.0
|
||||
platformdirs==4.2.0
|
||||
pluggy==1.4.0
|
||||
py==1.11.0
|
||||
pycodestyle==2.12.0
|
||||
PyJWT==2.9.0
|
||||
pycodestyle==2.11.1
|
||||
PyJWT==2.8.0
|
||||
pyparsing==3.1.2
|
||||
python-dateutil==2.9.0.post0
|
||||
python-dotenv==1.0.1
|
||||
PyYAML==6.0.1
|
||||
requests==2.32.3
|
||||
requests==2.31.0
|
||||
requests-toolbelt==1.0.0
|
||||
sentry-sdk==2.12.0
|
||||
sentry-sdk==1.45.0
|
||||
six==1.16.0
|
||||
toml==0.10.2
|
||||
tomli==2.0.1
|
||||
tomlkit==0.13.0
|
||||
urllib3==2.2.2
|
||||
virtualenv==20.26.3
|
||||
webex-bot==0.5.1
|
||||
tomlkit==0.12.4
|
||||
urllib3==2.2.1
|
||||
virtualenv==20.25.3
|
||||
webex-bot==0.4.1
|
||||
webexteamssdk==1.6.1
|
||||
websockets==11.0.3
|
||||
websockets==10.2
|
||||
wrapt==1.16.0
|
||||
xmltodict==0.13.0
|
||||
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
|
||||
|
@ -6,7 +6,6 @@ import os
|
||||
|
||||
|
||||
vars: dict = {
|
||||
"APP_VERSION": "dev",
|
||||
"BOT_NAME": "TestBot",
|
||||
"WEBEX_API_KEY": "testing",
|
||||
"ADMIN_FIRST_NAME": "Test",
|
||||
|
Reference in New Issue
Block a user