Merge pull request #38 from facefusion/automate-deploy

Automate deploy
This commit is contained in:
Henry Ruhs
2024-10-30 23:03:01 +01:00
committed by GitHub
+34 -9
View File
@@ -4,21 +4,46 @@ on: [ push, pull_request ]
jobs:
test:
name: ${{ matrix.config.image-name }}
name: ${{ matrix.config.display-name }}
runs-on: ubuntu-latest
strategy:
matrix:
config:
- { docker-file: 'Dockerfile.cpu', image-name: 'facefusion-cpu' }
- { docker-file: 'Dockerfile.cuda', image-name: 'facefusion-cuda' }
- { docker-file: 'Dockerfile.tensorrt', image-name: 'facefusion-tensorrt' }
- { docker-file: 'Dockerfile.rocm', image-name: 'facefusion-rocm' }
- { display-name: 'test (cpu)', docker-file: 'Dockerfile.cpu', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-cpu' }
- { display-name: 'test (cuda)', docker-file: 'Dockerfile.cuda', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-cuda' }
- { display-name: 'test (tensorrt)', docker-file: 'Dockerfile.tensorrt', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-tensorrt' }
- { display-name: 'test (rocm)', docker-file: 'Dockerfile.rocm', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-rocm' }
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build
run: docker build -f ${{ matrix.config.docker-file }} -t ${{ matrix.config.image-name }} .
run: docker build -f ${{ matrix.config.docker-file }} -t ${{ matrix.config.image-slug }} .
- name: Run
run: docker run -d ${{ matrix.config.image-name }}
run: docker run -d ${{ matrix.config.image-slug }}
- name: Validate
run: docker ps | grep -q ${{ matrix.config.image-name }}
run: docker ps | grep -q ${{ matrix.config.image-slug }}
deploy:
name: ${{ matrix.config.display-name }}
runs-on: ubuntu-latest
needs: test
strategy:
matrix:
config:
- { display-name: 'deploy (cpu)', docker-file: 'Dockerfile.cpu', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-cpu' }
- { display-name: 'deploy (cuda)', docker-file: 'Dockerfile.cuda', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-cuda' }
- { display-name: 'deploy (tensorrt)', docker-file: 'Dockerfile.tensorrt', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-tensorrt' }
- { display-name: 'deploy (rocm)', docker-file: 'Dockerfile.rocm', image-slug: 'facefusion/facefusion:${{ github.ref_name }}-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