From 63a1be28a591d6a84bfd1c47b1dc770b152b4833 Mon Sep 17 00:00:00 2001 From: Chris McKenzie Date: Thu, 21 Nov 2024 16:32:40 -0800 Subject: [PATCH] Vast: Initial vast catalog push --- .github/workflows/update-vast-catalog.yml | 57 +++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/update-vast-catalog.yml diff --git a/.github/workflows/update-vast-catalog.yml b/.github/workflows/update-vast-catalog.yml new file mode 100644 index 00000000..08f2caa0 --- /dev/null +++ b/.github/workflows/update-vast-catalog.yml @@ -0,0 +1,57 @@ +name: "update-vast-catalog" +on: + schedule: + - cron: '00 */7 * * *' # Every 7 hours (coprimes with 24) + # The frequency can be tuned for the trade-off between + # freshness of the price and github action cost/user downloading + # overhead of the update. + # _UPDATE_FREQUENCY_HOURS in `vast_catalog.py` need to be updated + # accordingly, if this is changed. + workflow_dispatch: + +jobs: + update_vast_catalog: + runs-on: ubuntu-latest + steps: + - name: Clone SkyPilot repo + uses: actions/checkout@v4 + with: + repository: skypilot-org/skypilot + path: sky + - name: Clone Catalog repo + uses: actions/checkout@v4 + with: + fetch-depth: 0 + path: catalogs + token: ${{ secrets.GH_ACTION_PAT }} + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: '3.10' + cache: 'pip' # caching pip dependencies + - name: Install dependencies + run: | + python -m pip install --upgrade pip + cd sky + pip install ".[vast]" + + - name: Run fetch_vast + 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 -m sky.clouds.service_catalog.data_fetchers.fetch_vast_cloud + env: + LAMBDA_API_KEY: ${{ secrets.LAMBDA_API_KEY }} + + - 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 Lambda catalog $version (scheduled at $(date))" || { echo "No changes to commit" && exit 0; } + git fetch origin + git rebase origin/master + git push