MoviePilot/.github/workflows/build-docker.yml
2023-06-30 14:08:46 +08:00

68 lines
1.8 KiB
YAML

name: MoviePilot Docker
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
name: Build Docker Image
steps:
-
name: Checkout
uses: actions/checkout@master
-
name: Release version
id: release_version
run: |
app_version=$(cat version.py |sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp")
echo "app_version=$app_version" >> $GITHUB_ENV
-
name: Build frontend
id: build_brontend
run: |
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt update
apt-get install -y nodejs yarn
node -v
yarn --version
git clone https://github.com/jxxghp/MoviePilot-Frontend
cd MoviePilot-Frontend
yarn
yarn build
cd ..
mkdir -p public
cp -f ./MoviePilot-Frontend/dist/* ./public/
rm -rf MoviePilot-Frontend
-
name: Set Up QEMU
uses: docker/setup-qemu-action@v1
-
name: Set Up Buildx
uses: docker/setup-buildx-action@v1
-
name: Login DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
-
name: Build Image
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
push: true
tags: |
${{ secrets.DOCKER_USERNAME }}/moviepilot:latest
${{ secrets.DOCKER_USERNAME }}/moviepilot:${{ env.app_version }}