|
name: Deploy to HuggingFace Spaces |
|
|
|
on: |
|
push: |
|
branches: |
|
- dev |
|
- main |
|
workflow_dispatch: |
|
|
|
jobs: |
|
check-secret: |
|
runs-on: ubuntu-latest |
|
outputs: |
|
token-set: ${{ steps.check-key.outputs.defined }} |
|
steps: |
|
- id: check-key |
|
env: |
|
HF_TOKEN: ${{ secrets.HF_TOKEN }} |
|
if: "${{ env.HF_TOKEN != '' }}" |
|
run: echo "defined=true" >> $GITHUB_OUTPUT |
|
|
|
deploy: |
|
runs-on: ubuntu-latest |
|
needs: [check-secret] |
|
if: needs.check-secret.outputs.token-set == 'true' |
|
env: |
|
HF_TOKEN: ${{ secrets.HF_TOKEN }} |
|
steps: |
|
- name: Checkout repository |
|
uses: actions/checkout@v4 |
|
|
|
- name: Remove git history |
|
run: rm -rf .git |
|
|
|
- name: Prepend YAML front matter to README.md |
|
run: | |
|
echo "---" > temp_readme.md |
|
echo "title: Open WebUI" >> temp_readme.md |
|
echo "emoji: 🐳" >> temp_readme.md |
|
echo "colorFrom: purple" >> temp_readme.md |
|
echo "colorTo: gray" >> temp_readme.md |
|
echo "sdk: docker" >> temp_readme.md |
|
echo "app_port: 8080" >> temp_readme.md |
|
echo "---" >> temp_readme.md |
|
cat README.md >> temp_readme.md |
|
mv temp_readme.md README.md |
|
|
|
- name: Configure git |
|
run: | |
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" |
|
git config --global user.name "github-actions[bot]" |
|
- name: Set up Git and push to Space |
|
run: | |
|
git init --initial-branch=main |
|
git lfs track "*.ttf" |
|
rm demo.gif |
|
git add . |
|
git commit -m "GitHub deploy: ${{ github.sha }}" |
|
git push --force https://open-webui:${HF_TOKEN}@huggingface.co/spaces/open-webui/open-webui main |
|
|