From 55729c5eda0a68045c1a4f546d2f877e20cc32bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 25 Nov 2023 19:46:56 -0600 Subject: [PATCH] feat: ratings leaderboard archive explicit target --- .github/workflows/cd-asia-ratings-latest.yml | 2 +- .github/workflows/cd-asia-ratings-midnight.yml | 8 ++++---- .github/workflows/cd-eu-ratings-latest.yml | 8 ++++---- .github/workflows/cd-eu-ratings-midnight.yml | 8 ++++---- .github/workflows/cd-na-ratings-latest.yml | 2 +- .github/workflows/cd-na-ratings-midnight.yml | 2 +- scripts/buildRatingsLeaderboard.ts | 9 +++++---- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/cd-asia-ratings-latest.yml b/.github/workflows/cd-asia-ratings-latest.yml index 85ba74d8f..93b327a33 100644 --- a/.github/workflows/cd-asia-ratings-latest.yml +++ b/.github/workflows/cd-asia-ratings-latest.yml @@ -31,4 +31,4 @@ jobs: run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=asia --latest + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=asia --target=latest diff --git a/.github/workflows/cd-asia-ratings-midnight.yml b/.github/workflows/cd-asia-ratings-midnight.yml index ebad9ad1a..2c4426498 100644 --- a/.github/workflows/cd-asia-ratings-midnight.yml +++ b/.github/workflows/cd-asia-ratings-midnight.yml @@ -2,7 +2,7 @@ name: CD Asia Ratings Midnight on: schedule: - - cron: "0 17 * * *" + - cron: '0 17 * * *' jobs: host: @@ -16,7 +16,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 - cache: "npm" + cache: 'npm' - name: Install Yarn run: npm install --location=global yarn @@ -24,11 +24,11 @@ jobs: - name: Use node_modules cache uses: actions/cache@v3 with: - path: "**/node_modules" + path: '**/node_modules' key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Install dependencies run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=asia + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=asia --target=midnight diff --git a/.github/workflows/cd-eu-ratings-latest.yml b/.github/workflows/cd-eu-ratings-latest.yml index c988ee70e..dbcd36cb1 100644 --- a/.github/workflows/cd-eu-ratings-latest.yml +++ b/.github/workflows/cd-eu-ratings-latest.yml @@ -2,7 +2,7 @@ name: CD Europe Ratings Latest on: schedule: - - cron: "0 0 * * *" + - cron: '0 0 * * *' jobs: host: @@ -16,7 +16,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 - cache: "npm" + cache: 'npm' - name: Install Yarn run: npm install --location=global yarn @@ -24,11 +24,11 @@ jobs: - name: Use node_modules cache uses: actions/cache@v3 with: - path: "**/node_modules" + path: '**/node_modules' key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Install dependencies run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=eu --latest + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=eu --target=latest diff --git a/.github/workflows/cd-eu-ratings-midnight.yml b/.github/workflows/cd-eu-ratings-midnight.yml index da778b527..3c0b88eed 100644 --- a/.github/workflows/cd-eu-ratings-midnight.yml +++ b/.github/workflows/cd-eu-ratings-midnight.yml @@ -2,7 +2,7 @@ name: CD Europe Ratings Midnight on: schedule: - - cron: "0 23 * * *" + - cron: '0 23 * * *' jobs: host: @@ -16,7 +16,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: 18 - cache: "npm" + cache: 'npm' - name: Install Yarn run: npm install --location=global yarn @@ -24,11 +24,11 @@ jobs: - name: Use node_modules cache uses: actions/cache@v3 with: - path: "**/node_modules" + path: '**/node_modules' key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Install dependencies run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=eu + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=eu --target=midnight diff --git a/.github/workflows/cd-na-ratings-latest.yml b/.github/workflows/cd-na-ratings-latest.yml index ff7ab3470..5b98bc8c7 100644 --- a/.github/workflows/cd-na-ratings-latest.yml +++ b/.github/workflows/cd-na-ratings-latest.yml @@ -31,4 +31,4 @@ jobs: run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=na --latest + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=na --target=latest diff --git a/.github/workflows/cd-na-ratings-midnight.yml b/.github/workflows/cd-na-ratings-midnight.yml index 1426f7c31..23249a2d4 100644 --- a/.github/workflows/cd-na-ratings-midnight.yml +++ b/.github/workflows/cd-na-ratings-midnight.yml @@ -31,4 +31,4 @@ jobs: run: yarn - name: Generate leaderboard - run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=na + run: GH_TOKEN=${{ secrets.GH_TOKEN }} yarn publish:ratingsleaderboard --region=na --target=midnight diff --git a/scripts/buildRatingsLeaderboard.ts b/scripts/buildRatingsLeaderboard.ts index c137f3e5d..a84929c02 100644 --- a/scripts/buildRatingsLeaderboard.ts +++ b/scripts/buildRatingsLeaderboard.ts @@ -23,9 +23,12 @@ export type BlitzkriegRatingsLeaderboardEntry = { id: number; score: number }; export type BlitzkriegRatingsLeaderboard = BlitzkriegRatingsLeaderboardEntry[]; const publish = argv.includes('--publish'); -const latest = argv.includes('--latest'); +const target = argv + .find((arg) => arg.startsWith('--target=')) + ?.split('=')[1] as 'midnight' | 'latest' | undefined; const server = argv.find((arg) => arg.startsWith('--region='))?.split('=')[1]; +if (!target) throw new Error('Target parameter not specified'); if (!server) throw new Error('Region parameter not specified'); const NEIGHBORS = 2 ** 8; @@ -117,9 +120,7 @@ if (publish) { const normalizedServer = server === 'na' ? 'com' : server; const infoPath = `${normalizedServer}/ratings/${info.current_season}/info.json`; - const leaderboardPath = `${normalizedServer}/ratings/${info.current_season}/${ - latest ? 'latest' : 'midnight' - }.json`; + const leaderboardPath = `${normalizedServer}/ratings/${info.current_season}/${target}.json`; const infoJSON = JSON.stringify(info); console.log(`Publishing to season ${info.current_season}...`);