Build Docker image automatically
This commit is contained in:
39
.github/renovate.json
vendored
Normal file
39
.github/renovate.json
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
"extends": [
|
||||||
|
"config:base"
|
||||||
|
],
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"matchUpdateTypes": [
|
||||||
|
"minor",
|
||||||
|
"patch",
|
||||||
|
"pin",
|
||||||
|
"digest",
|
||||||
|
"lockFileMaintenance"
|
||||||
|
],
|
||||||
|
"automerge": true,
|
||||||
|
"automergeType": "branch",
|
||||||
|
"platformAutomerge": true,
|
||||||
|
"schedule": [
|
||||||
|
"after 8am and before 11am on monday through friday"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencyDashboard": false,
|
||||||
|
"enabledManagers": [
|
||||||
|
"dockerfile",
|
||||||
|
"docker-compose",
|
||||||
|
"poetry",
|
||||||
|
"github-actions"
|
||||||
|
],
|
||||||
|
"lockFileMaintenance": {
|
||||||
|
"enabled": true,
|
||||||
|
"automerge": true,
|
||||||
|
"automergeType": "branch",
|
||||||
|
"platformAutomerge": true,
|
||||||
|
"schedule": [
|
||||||
|
"after 8am and before 11am on monday through friday"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"timezone": "Europe/Stockholm"
|
||||||
|
}
|
28
.github/workflows/codeql.yml
vendored
Normal file
28
.github/workflows/codeql.yml
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
name: "CodeQL"
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '33 11 * * 5'
|
||||||
|
jobs:
|
||||||
|
analyze:
|
||||||
|
name: Analyze
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- run: pipx install poetry
|
||||||
|
- uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: '3.10'
|
||||||
|
cache: 'poetry'
|
||||||
|
- run: poetry install
|
||||||
|
- run: echo "CODEQL_PYTHON=$(poetry run which python)" >> $GITHUB_ENV
|
||||||
|
- uses: github/codeql-action/init@v2
|
||||||
|
with:
|
||||||
|
languages: 'python'
|
||||||
|
queries: security-extended,security-and-quality
|
||||||
|
setup-python-dependencies: false
|
||||||
|
- uses: github/codeql-action/analyze@v2
|
60
.github/workflows/docker-publish.yml
vendored
Normal file
60
.github/workflows/docker-publish.yml
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
name: Docker
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "20 6 * * *"
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
workflow_dispatch:
|
||||||
|
env:
|
||||||
|
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
|
||||||
|
TIMEZONE: Europe/Stockholm
|
||||||
|
LOG_LEVEL: Info
|
||||||
|
SQLITE_LOCATION: /data/jobs.sqlite
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- run: pipx install poetry
|
||||||
|
- uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: "3.10"
|
||||||
|
cache: 'poetry'
|
||||||
|
- run: poetry install
|
||||||
|
- run: poetry run pytest
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
if: github.event_name != 'pull_request'
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Extract Docker metadata
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v4
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
thelovinator/discord-reminder-bot
|
||||||
|
ghcr.io/thelovinator1/discord-reminder-bot
|
||||||
|
flavor: latest=${{ github.ref == 'refs/heads/master' }}
|
||||||
|
- name: Build and push Docker image
|
||||||
|
id: build-and-push
|
||||||
|
uses: docker/build-push-action@v3
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: ${{ github.event_name != 'pull_request' }}
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
Reference in New Issue
Block a user