Release 2024-07-13.1 #249

Closed
luketainton wants to merge 46 commits from next into main-old
7 changed files with 123 additions and 37 deletions

View File

@ -6,8 +6,8 @@ updates:
interval: "daily" interval: "daily"
assignees: assignees:
- "luketainton" - "luketainton"
reviewers: # reviewers:
- "luketainton" # - "luketainton"
commit-message: commit-message:
prefix: "chore(actions)" prefix: "chore(actions)"
include: "scope" include: "scope"
@ -20,8 +20,8 @@ updates:
interval: "daily" interval: "daily"
assignees: assignees:
- "luketainton" - "luketainton"
reviewers: # reviewers:
- "luketainton" # - "luketainton"
commit-message: commit-message:
prefix: "chore(docker)" prefix: "chore(docker)"
include: "scope" include: "scope"
@ -34,11 +34,11 @@ updates:
interval: "daily" interval: "daily"
assignees: assignees:
- "luketainton" - "luketainton"
reviewers: # reviewers:
- "luketainton" # - "luketainton"
commit-message: commit-message:
prefix: "chore(pip-prod)" prefix: "chore(pip-prod)"
prefix-development: "chore(pip-dev)" prefix-development: "chore(pip-dev)"
include: "scope" include: "scope"
labels: labels:
- "dependencies" - "dependencies"

View File

@ -3,6 +3,10 @@ on:
push: push:
branches: [main] branches: [main]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs: jobs:
release: release:
name: Release name: Release
@ -29,29 +33,32 @@ jobs:
name: GitHub Container Registry name: GitHub Container Registry
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: release needs: release
permissions:
contents: read
packages: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
run: echo ${{ secrets.GHCR_ACCESS_TOKEN }} | docker login ghcr.io -u luketainton --password-stdin run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin
- name: Build image for GitHub Package Registry - name: Build image for GitHub Package Registry
run: | run: |
docker build . --file Dockerfile \ docker build . --file Dockerfile \
--build-arg "version=${{ needs.release.outputs.new_tag }}" \ --build-arg "version=${{ needs.release.outputs.new_tag }}" \
--tag ghcr.io/luketainton/roboluke-tasks:${{ needs.release.outputs.new_tag }} \ --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }} \
--tag ghcr.io/luketainton/roboluke-tasks:latest --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push image to GitHub Package Registry - name: Push image to GitHub Package Registry
run: | run: |
docker push ghcr.io/luketainton/roboluke-tasks:latest docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
docker push ghcr.io/luketainton/roboluke-tasks:${{ needs.release.outputs.new_tag }} docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }}
deploy: # deploy:
name: Update Portainer Deployment # name: Update Portainer Deployment
runs-on: ubuntu-latest # runs-on: ubuntu-latest
needs: publish # needs: publish
steps: # steps:
- uses: fjogeleit/http-request-action@v1 # - uses: fjogeleit/http-request-action@v1
with: # with:
url: ${{ secrets.PORTAINER_WEBHOOK_URL }} # url: ${{ secrets.PORTAINER_WEBHOOK_URL }}
method: POST # method: POST
timeout: 60000 # timeout: 60000
preventFailureOnNoResponse: "true" # preventFailureOnNoResponse: "true"

0
.github/workflows-old vendored Normal file
View File

29
.github/workflows/create_release.yml vendored Normal file
View File

@ -0,0 +1,29 @@
name: Create Release
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * *"
jobs:
create_release:
name: Create 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

48
.github/workflows/docker_publish.yml vendored Normal file
View File

@ -0,0 +1,48 @@
name: Publish Docker Image
on:
release:
types: [published]
jobs:
publish:
name: Publish Docker image
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
attestations: write
id-token: write
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Log in to GitHub Container Registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: |
ghcr.io/${{ github.repository }}
- name: Build and push Docker image
id: push
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true

View File

@ -4,3 +4,4 @@ isort
pylint pylint
pylint-exit pylint-exit
pytest pytest
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability

View File

@ -1,47 +1,48 @@
appdirs==1.4.4 appdirs==1.4.4
astroid==3.1.0 astroid==3.2.3
attrs==23.2.0 attrs==23.2.0
autopep8==2.1.0 autopep8==2.3.1
backoff==2.2.1 backoff==2.2.1
certifi==2024.2.2 certifi==2024.7.4
cfgv==3.4.0 cfgv==3.4.0
charset-normalizer==3.3.2 charset-normalizer==3.3.2
click==8.1.7 click==8.1.7
coloredlogs==15.0.1 coloredlogs==15.0.1
dill==0.3.8 dill==0.3.8
distlib==0.3.8 distlib==0.3.8
filelock==3.13.4 filelock==3.15.4
future==1.0.0 future==1.0.0
humanfriendly==10.0 humanfriendly==10.0
identify==2.5.36 identify==2.6.0
idna==3.7 idna==3.7
iniconfig==2.0.0 iniconfig==2.0.0
lazy-object-proxy==1.10.0 lazy-object-proxy==1.10.0
mccabe==0.7.0 mccabe==0.7.0
mypy-extensions==1.0.0 mypy-extensions==1.0.0
nodeenv==1.8.0 nodeenv==1.9.1
packaging==24.0 packaging==24.1
pathspec==0.12.1 pathspec==0.12.1
platformdirs==4.2.1 platformdirs==4.2.2
pluggy==1.5.0 pluggy==1.5.0
py==1.11.0 py==1.11.0
pycodestyle==2.11.1 pycodestyle==2.12.0
PyJWT==2.8.0 PyJWT==2.8.0
pyparsing==3.1.2 pyparsing==3.1.2
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
python-dotenv==1.0.1 python-dotenv==1.0.1
PyYAML==6.0.1 PyYAML==6.0.1
requests==2.31.0 requests==2.32.3
requests-toolbelt==1.0.0 requests-toolbelt==1.0.0
sentry-sdk==2.0.1 sentry-sdk==2.9.0
six==1.16.0 six==1.16.0
toml==0.10.2 toml==0.10.2
tomli==2.0.1 tomli==2.0.1
tomlkit==0.12.4 tomlkit==0.13.0
urllib3==2.2.1 urllib3==2.2.2
virtualenv==20.26.0 virtualenv==20.26.3
webex-bot==0.5.1 webex-bot==0.5.1
webexteamssdk==1.6.1 webexteamssdk==1.6.1
websockets==11.0.3 websockets==11.0.3
wrapt==1.16.0 wrapt==1.16.0
xmltodict==0.13.0 xmltodict==0.13.0
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability