mirror of
https://github.com/Radiquum/AniX.git
synced 2025-09-05 05:55:36 +05:00
35 lines
1.1 KiB
YAML
35 lines
1.1 KiB
YAML
name: Build and Publish 'anix' to Docker Hub
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- V3
|
|
paths:
|
|
- 'app/**'
|
|
- 'Dockerfile'
|
|
- 'middleware.ts'
|
|
- 'next.config.js'
|
|
workflow_dispatch:
|
|
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v4
|
|
- name: Dynamically set 'tag' environment variable
|
|
# 1. parse config.ts and extract app version
|
|
# 2. set time based tag
|
|
run: |
|
|
echo "APP_VERSION=$(head -n 1 ./app/api/config.ts | tr -d "\";= " | sed "s/exportconstCURRENT_APP_VERSION//g")" >> $GITHUB_ENV
|
|
echo "IMAGE_DATE=$(date +'%d-%m-%Y')" >> $GITHUB_ENV
|
|
- name: Build Image
|
|
run: |
|
|
docker build . -t radiquum/anix:latest
|
|
docker tag radiquum/anix:latest radiquum/anix:${{ env.APP_VERSION }}-${{ env.IMAGE_DATE }}
|
|
- name: Publish Image
|
|
run: |
|
|
docker login -u radiquum -p ${{ secrets.DOCKERHUB_TOKEN }}
|
|
docker push radiquum/anix:latest
|
|
docker push radiquum/anix:${{ env.APP_VERSION }}-${{ env.IMAGE_DATE }}
|