KyosukeIchikawa commited on
Commit
8427eb6
·
1 Parent(s): e957020

Revert "Hugging Face Spacesへのデプロイ用のGitHub Actionsワークフローを追加し、デプロイ手順をドキュメント化しました。CIが成功した場合のみ手動でデプロイできるように設定しました。"

Browse files
.github/workflows/deploy-to-hf.yml DELETED
@@ -1,102 +0,0 @@
1
- name: Deploy to Hugging Face Space
2
-
3
- on:
4
- workflow_dispatch: # 手動デプロイボタン
5
-
6
- jobs:
7
- check-ci:
8
- runs-on: ubuntu-latest
9
- steps:
10
- - name: Check CI status
11
- uses: actions/github-script@v6
12
- with:
13
- script: |
14
- const { data: runs } = await github.rest.actions.listWorkflowRuns({
15
- owner: context.repo.owner,
16
- repo: context.repo.repo,
17
- workflow_id: 'ci.yml',
18
- branch: 'main',
19
- status: 'success',
20
- per_page: 1
21
- });
22
-
23
- if (runs.total_count === 0) {
24
- core.setFailed('CIが成功していません。デプロイする前にCIを実行して成功させてください。');
25
- }
26
-
27
- deploy:
28
- needs: check-ci
29
- runs-on: ubuntu-latest
30
- steps:
31
- - uses: actions/checkout@v3
32
-
33
- - name: Set up Python
34
- uses: actions/setup-python@v4
35
- with:
36
- python-version: '3.11'
37
-
38
- - name: Install Hugging Face Hub CLI
39
- run: pip install huggingface_hub
40
-
41
- - name: Login to Hugging Face
42
- env:
43
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
44
- run: huggingface-cli login --token $HF_TOKEN
45
-
46
- - name: Deploy to Hugging Face Space
47
- env:
48
- HF_SPACE_ID: Kyosuke0/yomitalk
49
- run: |
50
- # 必要なファイルをスペースにプッシュ
51
- git config --global user.email "github-actions[bot]@users.noreply.github.com"
52
- git config --global user.name "GitHub Actions"
53
-
54
- # huggingface_hubを使用して直接アップロード
55
- python -c "
56
- from huggingface_hub import HfApi
57
- import os
58
- import glob
59
-
60
- api = HfApi()
61
- space_id = os.environ.get('HF_SPACE_ID')
62
-
63
- # すべての必要なファイルをアップロード
64
- files_to_upload = [
65
- 'app.py',
66
- 'requirements.txt',
67
- 'pyproject.toml',
68
- 'LICENSE',
69
- 'README.md',
70
- ]
71
-
72
- # ディレクトリ全体をアップロード
73
- dirs_to_upload = ['yomitalk', 'assets', 'docs']
74
-
75
- # 個々のファイルをアップロード
76
- for file in files_to_upload:
77
- if os.path.exists(file):
78
- print(f'Uploading {file}')
79
- api.upload_file(
80
- path_or_fileobj=file,
81
- path_in_repo=file,
82
- repo_id=space_id,
83
- repo_type='space',
84
- )
85
-
86
- # ディレクトリ内のファイルをアップロード
87
- for dir_path in dirs_to_upload:
88
- if os.path.exists(dir_path):
89
- for root, _, files in os.walk(dir_path):
90
- for file in files:
91
- file_path = os.path.join(root, file)
92
- # 不要なファイルをスキップ
93
- if '__pycache__' in file_path or '.git' in file_path:
94
- continue
95
- print(f'Uploading {file_path}')
96
- api.upload_file(
97
- path_or_fileobj=file_path,
98
- path_in_repo=file_path,
99
- repo_id=space_id,
100
- repo_type='space',
101
- )
102
- "
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
docs/deploy-to-hf.md DELETED
@@ -1,49 +0,0 @@
1
- # Hugging Face Spacesへのデプロイ方法
2
-
3
- このプロジェクトは、GitHub Actionsを使用してHugging Face Spacesにデプロイする設定が含まれています。
4
- **デプロイは手動で実行でき、CIが成功した場合のみ実行可能です。**
5
-
6
- ## 事前準備
7
-
8
- ### 1. Hugging Face APIトークンの取得
9
- 1. [Hugging Face](https://huggingface.co/)にログインします。
10
- 2. 右上のプロフィールアイコンをクリックし、「Settings」を選択します。
11
- 3. 左サイドバーから「Access Tokens」を選択します。
12
- 4. 「New token」ボタンをクリックします。
13
- 5. トークン名を入力し、権限を「Write」に設定します。
14
- 6. 「Generate token」ボタンをクリックします。
15
- 7. 生成されたトークンをコピーします(このページを離れると二度と表示されないので注意)。
16
-
17
- ### 2. GitHubリポジトリにシークレットを設定
18
- 1. GitHubリポジトリのページに移動します。
19
- 2. 「Settings」タブをクリックします。
20
- 3. 左サイドバーから「Secrets and variables」→「Actions」を選択します。
21
- 4. 「New repository secret」ボタンをクリックします。
22
- 5. 名前に「HF_TOKEN」と入力し、値に先ほどコピーしたHugging Face APIトークンを貼り付けます。
23
- 6. 「Add secret」ボタンをクリックします。
24
-
25
- ## デプロイの流れ
26
-
27
- 1. `main`ブランチにプッシュまたはPRがマージされると、自動的にCIが実行されます。
28
- 2. CIが成功したことを確認します。
29
- 3. GitHubリポジトリの「Actions」タブに移動します。
30
- 4. 左サイドバーから「Deploy to Hugging Face Space」ワークフローを選択します。
31
- 5. 「Run workflow」ボタンをクリックします。
32
- - 注意: CIが成功していない場合は、デプロイボタンを押しても失敗します。
33
- 6. デプロイが完了するまで待ちます(数分かかることがあります)。
34
- 7. デプロイが完了したら、[https://huggingface.co/spaces/Kyosuke0/yomitalk](https://huggingface.co/spaces/Kyosuke0/yomitalk)にアクセスしてアプリケーションが正常に動作しているか確認します。
35
-
36
- ## トラブルシューティング
37
-
38
- ### デプロイに失敗する場合
39
- 1. GitHub Actionsのログを確認し、エラーメッセージを確認します。
40
- 2. CIが成功しているか確認します。
41
- - CIが成功していない場合は、まずCIを実行して成功させてください。
42
- 3. Hugging Face APIトークンが正しく設定されているか確認します。
43
- 4. Hugging Face Spacesの容量制限に達していないか確認します。
44
- 5. Dockerfileに必要なパッケージがすべて含まれているか確認します。
45
-
46
- ### アプリケーションが正常に動作しない場合
47
- 1. Hugging Face Spaces上のログを確認します(Spacesページの「Files and versions」タブ→「logs」フォルダ)。
48
- 2. 必要な環境変数が設定されているか確認します。
49
- 3. Dockerfileに必要なファイルがすべてコピーされているか確認します。