-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Bump version to 0.0.7 * Update docs * Bump to next version for dev * Add SBOM and provenance attestations * Add labels * Add labels * Update base Alpine image to 3.20 * Update deps * Added a feature to check for bot updates. * Docs update: add section about /check_bot_updates command * Update bot tree * Add Debug messages to adapters * Fix docstring typo * Small refactoring * Small refactoring * Switching the dev target to logger = DEBUG mode * Add debug message to logger * Update docs * Update docs * Update README.md * Fix typo * Update installation.md Added clarification on launching a Telegram bot. * Update docker.md Added clarification on launching a Telegram bot. * Update docker.md * Update docker.md * Update README.md * Update docker.md * Update installation.md * Update docker_image_release_cicd.yml * Create snyk-security.yml * Remove snyk-security.yml * Add hadolint.yml * Update check_bot_update handler * Update __init__.py * Update check_bot_update.py * Update deps * Global refactoring code: handlers, logger * Global refactoring code: handlers, logger * Global refactoring code: handlers, logger * Move some func to utilities.py * Simplification of logs for all modes except DEBUG. * All logs are now written to the standard output and error streams. The directory used for storing logs and the actual log file are both no longer required. * All logs are now written to the standard output and error streams. The directory used for storing logs and the actual log file are both no longer required. * Global code refactoring. * Update requests==2.32.3 * Fix docstring * Rename exception handler * Fix docstring and replace arg to *args in _send_bot_answer * Refactoring exception * Refactoring exception * Add copyright section * Remove action to push images for hub.docker.com * Add GitHub Package workflow * Add GitHub Package workflow * Add GitHub Package workflow * Rework tags in action * Rework tags in action * Add workflow to release * Fix workflow name * Update docs (exclusion from the documentation of sections hub.docker.com ) * Update docs (exclusion from the documentation of sections hub.docker.com ) * Bump version to 0.0.8 release * Update production action
- Loading branch information
Showing
41 changed files
with
1,038 additions
and
507 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
name: Development Docker CI | ||
|
||
# This workflow uses actions that are not certified by GitHub. | ||
# They are provided by a third-party and are governed by | ||
# separate terms of service, privacy policy, and support | ||
# documentation. | ||
|
||
on: | ||
push: | ||
branches: [ "development" ] | ||
# Publish semver tags as releases. | ||
tags: [ 'alpine-dev' ] | ||
pull_request: | ||
branches: [ "master" ] | ||
|
||
env: | ||
# Use docker.io for Docker Hub if empty | ||
REGISTRY: ghcr.io | ||
# github.repository as <account>/<repo> | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
# This is used to complete the identity challenge | ||
# with sigstore/fulcio when running outside of PRs. | ||
id-token: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
# Install the cosign tool except on PR | ||
# https://github.com/sigstore/cosign-installer | ||
- name: Install cosign | ||
if: github.event_name != 'pull_request' | ||
uses: sigstore/cosign-installer@v3.3.0 | ||
with: | ||
cosign-release: 'v2.2.2' | ||
|
||
# Set up BuildKit Docker container builder to be able to build | ||
# multi-platform images and export cache | ||
# https://github.com/docker/setup-buildx-action | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 | ||
|
||
# Login against a Docker registry except on PR | ||
# https://github.com/docker/login-action | ||
- name: Log into registry ${{ env.REGISTRY }} | ||
if: github.event_name != 'pull_request' | ||
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.PACKAGE_TOKEN }} | ||
|
||
# Extract metadata (tags, labels) for Docker | ||
# https://github.com/docker/metadata-action | ||
- name: Extract Docker metadata | ||
id: meta | ||
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
|
||
# Build and push Docker image with Buildx (don't push on PR) | ||
# https://github.com/docker/build-push-action | ||
- name: Build and push Docker image | ||
id: build-and-push | ||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0 | ||
with: | ||
context: . | ||
build-args: --target prod | ||
file: hub.Dockerfile | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
cache-from: type=gha | ||
cache-to: type=gha,mode=max | ||
|
||
# Sign the resulting Docker image digest except on PRs. | ||
# This will only write to the public Rekor transparency log when the Docker | ||
# repository is public to avoid leaking data. If you would like to publish | ||
# transparency data even for private images, pass --force to cosign below. | ||
# https://github.com/sigstore/cosign | ||
- name: Sign the published Docker image | ||
if: ${{ github.event_name != 'pull_request' }} | ||
env: | ||
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable | ||
TAGS: ${{ steps.meta.outputs.tags }} | ||
DIGEST: ${{ steps.build-and-push.outputs.digest }} | ||
# This step uses the identity token to provision an ephemeral certificate | ||
# against the sigstore community Fulcio instance. | ||
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# This workflow uses actions that are not certified by GitHub. | ||
# They are provided by a third-party and are governed by | ||
# separate terms of service, privacy policy, and support | ||
# documentation. | ||
# hadoint is a Dockerfile linter written in Haskell | ||
# that helps you build best practice Docker images. | ||
# More details at https://github.com/hadolint/hadolint | ||
|
||
name: Hadolint | ||
|
||
on: | ||
push: | ||
branches: [ "development", "pytmbot" ] | ||
pull_request: | ||
# The branches below must be a subset of the branches above | ||
branches: [ "development" ] | ||
schedule: | ||
- cron: '34 9 * * 3' | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
hadolint: | ||
name: Run hadolint scanning | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read # for actions/checkout to fetch code | ||
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | ||
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Run hadolint | ||
uses: hadolint/hadolint-action@f988afea3da57ee48710a9795b6bb677cc901183 | ||
with: | ||
dockerfile: ./hub.Dockerfile | ||
format: sarif | ||
output-file: hadolint-results.sarif | ||
no-fail: true | ||
|
||
- name: Upload analysis results to GitHub | ||
uses: github/codeql-action/upload-sarif@v2 | ||
with: | ||
sarif_file: hadolint-results.sarif | ||
wait-for-processing: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
name: Production Docker CI | ||
|
||
# This workflow uses actions that are not certified by GitHub. | ||
# They are provided by a third-party and are governed by | ||
# separate terms of service, privacy policy, and support | ||
# documentation. | ||
|
||
on: | ||
schedule: | ||
- cron: '16 5 * * *' | ||
release: | ||
types: [ published ] | ||
tags: [ 'v*.*.*' ] | ||
|
||
|
||
env: | ||
# Use docker.io for Docker Hub if empty | ||
REGISTRY: ghcr.io | ||
# github.repository as <account>/<repo> | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: read | ||
packages: write | ||
# This is used to complete the identity challenge | ||
# with sigstore/fulcio when running outside of PRs. | ||
id-token: write | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
# Install the cosign tool except on PR | ||
# https://github.com/sigstore/cosign-installer | ||
- name: Install cosign | ||
if: github.event_name != 'pull_request' | ||
uses: sigstore/cosign-installer@v3.3.0 | ||
with: | ||
cosign-release: 'v2.2.2' | ||
|
||
# Set up BuildKit Docker container builder to be able to build | ||
# multi-platform images and export cache | ||
# https://github.com/docker/setup-buildx-action | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 | ||
|
||
# Login against a Docker registry except on PR | ||
# https://github.com/docker/login-action | ||
- name: Log into registry ${{ env.REGISTRY }} | ||
if: github.event_name != 'pull_request' | ||
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 | ||
with: | ||
registry: ${{ env.REGISTRY }} | ||
username: ${{ github.actor }} | ||
password: ${{ secrets.PACKAGE_TOKEN }} | ||
|
||
# Extract metadata (tags, labels) for Docker | ||
# https://github.com/docker/metadata-action | ||
- name: Extract Docker metadata | ||
id: meta | ||
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
|
||
# Build and push Docker image with Buildx (don't push on PR) | ||
# https://github.com/docker/build-push-action | ||
- name: Build and push Docker image | ||
id: build-and-push | ||
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0 | ||
with: | ||
context: . | ||
build-args: --target prod | ||
file: hub.Dockerfile | ||
push: ${{ github.event_name != 'pull_request' }} | ||
tags: ${{ steps.meta.outputs.tags }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
cache-from: type=gha | ||
cache-to: type=gha,mode=max | ||
|
||
# Sign the resulting Docker image digest except on PRs. | ||
# This will only write to the public Rekor transparency log when the Docker | ||
# repository is public to avoid leaking data. If you would like to publish | ||
# transparency data even for private images, pass --force to cosign below. | ||
# https://github.com/sigstore/cosign | ||
- name: Sign the published Docker image | ||
if: ${{ github.event_name != 'pull_request' }} | ||
env: | ||
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable | ||
TAGS: ${{ steps.meta.outputs.tags }} | ||
DIGEST: ${{ steps.build-and-push.outputs.digest }} | ||
# This step uses the identity token to provision an ephemeral certificate | ||
# against the sigstore community Fulcio instance. | ||
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,42 @@ | ||
<component name="ProjectRunConfigurationManager"> | ||
<configuration default="false" name="Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker"> | ||
<deployment type="dockerfile"> | ||
<settings> | ||
<option name="imageTag" value="latest" /> | ||
<option name="containerName" value="pytmbot" /> | ||
<option name="sourceFilePath" value="Dockerfile" /> | ||
<option name="volumeBindings"> | ||
<list> | ||
<DockerVolumeBindingImpl> | ||
<option name="containerPath" value="/var/run/docker.sock" /> | ||
<option name="hostPath" value="/var/run/docker.sock" /> | ||
<option name="readOnly" value="true" /> | ||
</DockerVolumeBindingImpl> | ||
</list> | ||
</option> | ||
</settings> | ||
</deployment> | ||
<method v="2" /> | ||
</configuration> | ||
<configuration default="false" name="Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker"> | ||
<deployment type="dockerfile"> | ||
<settings> | ||
<option name="imageTag" value="dev-latest-loc" /> | ||
<option name="buildCliOptions" value="--target selfbuild_dev" /> | ||
<option name="containerName" value="pytmbot" /> | ||
<option name="sourceFilePath" value="Dockerfile" /> | ||
<option name="volumeBindings"> | ||
<list> | ||
<DockerVolumeBindingImpl> | ||
<option name="containerPath" value="/var/run/docker.sock" /> | ||
<option name="hostPath" value="/var/run/docker.sock" /> | ||
<option name="readOnly" value="true" /> | ||
</DockerVolumeBindingImpl> | ||
</list> | ||
</option> | ||
</settings> | ||
</deployment> | ||
<method v="2" /> | ||
</configuration> | ||
<configuration default="false" name="Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker"> | ||
<deployment type="dockerfile"> | ||
<settings> | ||
<option name="imageTag" value="latest"/> | ||
<option name="containerName" value="pytmbot"/> | ||
<option name="sourceFilePath" value="Dockerfile"/> | ||
<option name="volumeBindings"> | ||
<list> | ||
<DockerVolumeBindingImpl> | ||
<option name="containerPath" value="/var/run/docker.sock"/> | ||
<option name="hostPath" value="/var/run/docker.sock"/> | ||
<option name="readOnly" value="true"/> | ||
</DockerVolumeBindingImpl> | ||
</list> | ||
</option> | ||
</settings> | ||
</deployment> | ||
<method v="2"/> | ||
</configuration> | ||
<configuration default="false" name="Dockerfile" type="docker-deploy" factoryName="dockerfile" server-name="Docker"> | ||
<deployment type="dockerfile"> | ||
<settings> | ||
<option name="imageTag" value="dev-latest-loc"/> | ||
<option name="buildCliOptions" value="--target selfbuild_dev"/> | ||
<option name="containerName" value="pytmbot"/> | ||
<option name="commandLineOptions" value=""/> | ||
<option name="sourceFilePath" value="Dockerfile"/> | ||
<option name="volumeBindings"> | ||
<list> | ||
<DockerVolumeBindingImpl> | ||
<option name="containerPath" value="/var/run/docker.sock"/> | ||
<option name="hostPath" value="/var/run/docker.sock"/> | ||
<option name="readOnly" value="true"/> | ||
</DockerVolumeBindingImpl> | ||
</list> | ||
</option> | ||
</settings> | ||
</deployment> | ||
<method v="2"/> | ||
</configuration> | ||
</component> |
Oops, something went wrong.