name: MediaFlow Proxy CI/CD on: release: types: [ created ] jobs: mediaflow_proxy_docker_build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: mhdzumair password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push id: docker_build uses: docker/build-push-action@v5 with: context: . file: Dockerfile platforms: linux/amd64,linux/arm64 push: true tags: | mhdzumair/mediaflow-proxy:v${{ github.ref_name }} mhdzumair/mediaflow-proxy:latest - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }} deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | pip install poetry poetry build - name: Build and publish uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }} push_to_huggingface: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.12' - name: Install dependencies run: | pip install huggingface_hub - name: Configure Git run: | git config --global user.email "mhdzumair@gmail.com" git config --global user.name "Mohamed Zumair" - name: Push to Hugging Face env: HF_TOKEN: ${{ secrets.HF_TOKEN }} run: | huggingface-cli login --token $HF_TOKEN git remote add hf https://huggingface.co/spaces/mhdzumair/mediaflow-proxy git fetch hf git checkout -b main || git checkout main git pull hf main --rebase || true git add . git commit -m "Update to version ${{ github.ref_name }}" || echo "No changes to commit" git push hf main