Files
Telegram-Downloader-Bot/.gitea/workflows/release.yml
Roman Krček 6cfc6a565c
All checks were successful
Build Docker image / test (push) Successful in 32s
Build Docker image / build (push) Successful in 23s
Replace variables with gitlog
2024-10-06 14:35:42 +02:00

71 lines
2.2 KiB
YAML

name: Build Docker image
run-name: ${{ gitea.actor }} is running the CI pipeline
on:
push:
branches:
- main
schedule:
- cron: "0 22 * * 0" # sunday 22:00
jobs:
test:
if: ${{ github.event_name }} != 'schedule'
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: https://github.com/actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Setup tox
run: pip install tox>=4.16
- name: Run tox
run: tox
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Get date for image label
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
- name: Get commit information
id: gitinfo
run: |
echo "::set-output name=sha::$(git log -1 --format="%H")"
echo "::set-output name=message::$(git log -1 --format="%s")"
- name: Checkout code
uses: https://github.com/actions/checkout@v4
- name: Set up Docker Buildx
uses: https://github.com/docker/setup-buildx-action@v3
with:
driver: docker-container
- name: Login to Docker Registry
uses: https://github.com/docker/login-action@v3
with:
registry: git.orebolt.cz
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push image
uses: https://github.com/docker/build-push-action@v5
with:
context: .
push: true
tags: "${{ vars.DOCKER_IMAGE }}:latest,${{ vars.DOCKER_IMAGE }}:${{ steps.date.outputs.date }}"
platforms: linux/amd64,linux/arm/v7
cache-to: "mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=${{ vars.DOCKER_IMAGE }}:cache"
cache-from: "mode=max,image-manifest=true,oci-mediatypes=true,type=registry,ref=${{ vars.DOCKER_IMAGE }}:cache"
labels: |
org.opencontainers.image.revision=${{ steps.gitinfo.outputs.sha }}
org.opencontainers.image.commit_message=${{ steps.gitinfo.outputs.message }}
org.opencontainers.image.created=${{ steps.date.outputs.date }}