diff --git a/.github/workflows/sync.yml b/.github/workflows/sync-endpoint.yml similarity index 53% rename from .github/workflows/sync.yml rename to .github/workflows/sync-endpoint.yml index 5c03db36..3c8dee2c 100644 --- a/.github/workflows/sync.yml +++ b/.github/workflows/sync-endpoint.yml @@ -1,11 +1,11 @@ name: Sync endpoint on: - push: - branches: - - sync + schedule: + - cron: '*/5 * * * *' jobs: sync-to-hub: + permissions: write-all runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -15,9 +15,7 @@ jobs: with: path: | sync/endpoint.txt - key: endpoint-${{ github.run_id }} - restore-keys: | - endpoint- + key: endpoint - uses: actions/setup-python@v4 with: python-version: '3.10' @@ -26,13 +24,22 @@ jobs: env: HF_TOKEN: ${{ secrets.HF_TOKEN }} ENDPOINTS: ${{ vars.ENDPOINTS }} - run: cd sync && cat endpoint.txt && pip install huggingface_hub && python sync.py && cat endpoint.txt + run: cd sync && pip install huggingface_hub && python sync.py && cat endpoint.txt + - name: Delete cache + run: | + gh extension install actions/gh-actions-cache + set +e + echo "Deleting cache..." + gh actions-cache delete endpoint -R ${{ github.repository }} --confirm + echo "Done" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Save cache + if: always() id: file-save uses: actions/cache/save@v3 with: path: | sync/endpoint.txt - key: endpoint-${{ github.run_id }} - restore-keys: | - endpoint- + key: endpoint + diff --git a/sync/.gitignore b/sync/.gitignore index 406bab72..f10862a6 100644 --- a/sync/.gitignore +++ b/sync/.gitignore @@ -1,2 +1 @@ -/endpoint.txt /.env diff --git a/sync/sync.py b/sync/sync.py index c11ad81b..88a712d6 100644 --- a/sync/sync.py +++ b/sync/sync.py @@ -8,18 +8,19 @@ ENDPOINTS = os.environ.get('ENDPOINTS') file = 'endpoint.txt' endpoints = ENDPOINTS.split('\n') -endpoint = endpoints[0].strip() +endpointIndex = '0' try: with open(file,"r") as f: content=f.read().strip() - endpoint = endpoints[1] if content == endpoints[0] else endpoints[0] + print('content:', content) + endpointIndex = '1' if content == '0' else '0' f.close() except IOError: print("File not accessible") - with open(file, "w") as wf: - wf.write(endpoint) - wf.close() -print('new endpoint', endpoint) -hf_api.add_space_secret('hf4all/bingo2', 'ENDPOINT', endpoint.strip()) +with open(file, "w") as wf: + wf.write(endpointIndex) + wf.close() +print('new endpoint', endpoints[int(endpointIndex)]) +hf_api.add_space_secret('hf4all/bingo2', 'ENDPOINT', endpoints[int(endpointIndex)].strip())