miui-auto-tasks/.github/workflows/docker-image.yml

74 lines
1.7 KiB
YAML
Raw Normal View History

# author: 0-8-4
# date 24-11-2022 1834 AEDT
# last_update: 13-11-2023 22:57 AEDT
#
# This script is used to automatically build docker image and
# push to DockerHub when every new release is published
name: DockerHub CI
on:
release:
types: [published]
workflow_dispatch:
env:
DOCKERHUB_REPO: o1si/miui-auto-tasks
jobs:
build:
runs-on: ubuntu-latest
steps:
-
name: Set up python 3.11 run the program once to create the `/data`
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install PDM
run: |
pip install pdm
- name: Export requirements.txt
run: |
pdm export -f requirements --without-hashes -o requirements.txt
- name: Upload requirements.txt
uses: actions/upload-artifact@v3.1.3
with:
name: requirements.txt
path: requirements.txt
-
name: run the program once to create the `/data`
run: |
python3 miuitask.py
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
push: true
platforms: |
linux/amd64
linux/arm64
tags: |
${{ env.DOCKERHUB_REPO }}:latest
${{ env.DOCKERHUB_REPO }}:${{ github.event.release.tag_name }}