mirror of
https://github.com/facefusion/facefusion-docker.git
synced 2026-04-23 17:45:56 +02:00
51 lines
2.0 KiB
YAML
51 lines
2.0 KiB
YAML
name: ci
|
|
|
|
on: [ push, pull_request ]
|
|
|
|
jobs:
|
|
test:
|
|
name: ${{ matrix.config.display-name }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
config:
|
|
- { display-name: 'test (cpu)', docker-file: 'Dockerfile.cpu', image-slug: 'facefusion/facefusion:3.6.1-cpu' }
|
|
- { display-name: 'test (cuda)', docker-file: 'Dockerfile.cuda', image-slug: 'facefusion/facefusion:3.6.1-cuda' }
|
|
- { display-name: 'test (tensorrt)', docker-file: 'Dockerfile.tensorrt', image-slug: 'facefusion/facefusion:3.6.1-tensorrt' }
|
|
- { display-name: 'test (rocm)', docker-file: 'Dockerfile.rocm', image-slug: 'facefusion/facefusion:3.6.1-rocm' }
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Build
|
|
run: docker build -f ${{ matrix.config.docker-file }} -t ${{ matrix.config.image-slug }} .
|
|
- name: Run
|
|
run: docker run -d ${{ matrix.config.image-slug }}
|
|
- name: Validate
|
|
run: docker ps | grep -q ${{ matrix.config.image-slug }}
|
|
deploy:
|
|
name: ${{ matrix.config.display-name }}
|
|
if: github.ref == 'refs/heads/master'
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
config:
|
|
- { display-name: 'deploy (cpu)', docker-file: 'Dockerfile.cpu', image-slug: 'facefusion/facefusion:3.6.1-cpu' }
|
|
- { display-name: 'deploy (cuda)', docker-file: 'Dockerfile.cuda', image-slug: 'facefusion/facefusion:3.6.1-cuda' }
|
|
- { display-name: 'deploy (tensorrt)', docker-file: 'Dockerfile.tensorrt', image-slug: 'facefusion/facefusion:3.6.1-tensorrt' }
|
|
- { display-name: 'deploy (rocm)', docker-file: 'Dockerfile.rocm', image-slug: 'facefusion/facefusion:3.6.1-rocm' }
|
|
steps:
|
|
- name: Login
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Build
|
|
run: docker build -f ${{ matrix.config.docker-file }} -t ${{ matrix.config.image-slug }} .
|
|
- name: Deploy
|
|
run: docker push ${{ matrix.config.image-slug }}
|
|
- name: Logout
|
|
run: docker logout
|