diff --git a/.github/workflows/update-cudo-catalog.yml b/.github/workflows/update-cudo-catalog.yml new file mode 100644 index 00000000..bf359bf7 --- /dev/null +++ b/.github/workflows/update-cudo-catalog.yml @@ -0,0 +1,49 @@ +name: "update-cudo-catalog" +on: + schedule: + - cron: '00 */7 * * *' + workflow_dispatch: + +jobs: + update_cudo_catalog: + runs-on: ubuntu-latest + steps: + - name: Clone SkyPilot repo + uses: actions/checkout@v3 + with: + repository: skypilot-org/skypilot + path: sky + - name: Clone Catalog repo + uses: actions/checkout@v3 + with: + fetch-depth: 0 + path: catalogs + token: ${{ secrets.GH_ACTION_PAT }} + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + cache: 'pip' # caching pip dependencies + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install cudo-compute + + - name: Run fetch_cudo + run: | + version=$(python -c 'import sky; print(sky.clouds.service_catalog.constants.CATALOG_SCHEMA_VERSION)') + mkdir -p catalogs/catalogs/$version + cd catalogs/catalogs/$version + python -u -m sky.clouds.service_catalog.data_fetchers.fetch_cudo + + - name: Commit catalog + run: | + version=$(python -c 'import sky; print(sky.clouds.service_catalog.constants.CATALOG_SCHEMA_VERSION)') + cd catalogs + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + git add . + git commit -m"[Bot] Update Cudo Compute catalog $version (scheduled at $(date))" || { echo "No changes to commit" && exit 0; } + git fetch origin + git rebase origin/master + git push