1name: Nightly Upload to rockset 2 3on: 4 schedule: 5 # Choose a random time near midnight PST because it may be delayed if there are high loads 6 - cron: 37 7 * * * 7 pull_request: 8 paths: 9 - 'tools/stats/upload_external_contrib_stats.py' 10 - 'tools/stats/upload_test_stat_aggregates.py' 11 - '.github/workflows/nightly-rockset-uploads.yml' 12 13concurrency: 14 group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} 15 cancel-in-progress: true 16 17jobs: 18 19 upload-stats-to-rockset: 20 runs-on: ubuntu-22.04 21 environment: upload-stats 22 steps: 23 - name: Checkout PyTorch 24 uses: pytorch/pytorch/.github/actions/checkout-pytorch@release/2.4 25 with: 26 fetch-depth: 1 27 submodules: false 28 29 - uses: actions/setup-python@v4 30 with: 31 python-version: '3.11' 32 cache: pip 33 34 - run: | 35 pip3 install requests==2.32.2 rockset==1.0.3 boto3==1.19.12 36 37 - name: Upload external contribution stats 38 uses: nick-fields/retry@v2.8.2 39 env: 40 ROCKSET_API_KEY: ${{ secrets.ROCKSET_API_KEY }} 41 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 42 AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 43 AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 44 if: ${{ env.ROCKSET_API_KEY != '' }} 45 with: 46 timeout_minutes: 10 47 max_attempts: 10 48 retry_wait_seconds: 90 49 command: | 50 echo "Uploading external contribution stats for 10 days starting on" "$(date -d '10 days ago' '+%Y-%m-%d')" 51 python3 -m tools.stats.upload_external_contrib_stats --startDate "$(date -d '10 days ago' '+%Y-%m-%d')" --length 10 52 echo "Uploading testing aggregate data" "$(date -d yesterday '+%Y-%m-%d')" 53 python3 -m tools.stats.upload_test_stat_aggregates --date "$(date -d yesterday '+%Y-%m-%d')" 54