From 540627159644450a99ba3e72d4034fd40793a005 Mon Sep 17 00:00:00 2001 From: Jainam Sheth Date: Wed, 14 Jan 2026 21:28:47 -0800 Subject: [PATCH 1/5] Added descriptions for composite actions. --- .github/actions/bundle_size_test/action.yml | 1 + .github/actions/check_clean/action.yml | 1 + .github/actions/check_if_latest_release/action.yml | 1 + .github/actions/count_deps/action.yml | 1 + .github/actions/create_mrt/action.yml | 1 + .github/actions/datadog/action.yml | 1 + .github/actions/e2e_generate_app/action.yml | 1 + .github/actions/e2e_validate_generated_app/action.yml | 1 + .github/actions/lighthouse_ci/action.yml | 1 + .github/actions/linting/action.yml | 1 + .github/actions/publish_to_npm/action.yml | 1 + .github/actions/push_to_mrt/action.yml | 1 + .github/actions/smoke_tests/action.yml | 1 + .github/actions/snyk/action.yml | 1 + 14 files changed, 14 insertions(+) diff --git a/.github/actions/bundle_size_test/action.yml b/.github/actions/bundle_size_test/action.yml index 085dd09926..7db9e8bbb5 100644 --- a/.github/actions/bundle_size_test/action.yml +++ b/.github/actions/bundle_size_test/action.yml @@ -1,4 +1,5 @@ name: bundlesize +description: Check bundle size against maximum file size limits runs: using: composite steps: diff --git a/.github/actions/check_clean/action.yml b/.github/actions/check_clean/action.yml index 484958480f..de0bfe9c3c 100644 --- a/.github/actions/check_clean/action.yml +++ b/.github/actions/check_clean/action.yml @@ -1,4 +1,5 @@ name: check_clean +description: Check if repository has uncommitted changes runs: using: composite steps: diff --git a/.github/actions/check_if_latest_release/action.yml b/.github/actions/check_if_latest_release/action.yml index 067976f3a5..5e79fef623 100644 --- a/.github/actions/check_if_latest_release/action.yml +++ b/.github/actions/check_if_latest_release/action.yml @@ -1,4 +1,5 @@ name: check_if_latest_release +description: Check if the current release is the latest release inputs: token: description: "Github API token" diff --git a/.github/actions/count_deps/action.yml b/.github/actions/count_deps/action.yml index 447565f64a..f02c8498a2 100644 --- a/.github/actions/count_deps/action.yml +++ b/.github/actions/count_deps/action.yml @@ -1,4 +1,5 @@ name: count_deps +description: Count and validate project dependencies inputs: project_dir: description: 'Path to the project directory' diff --git a/.github/actions/create_mrt/action.yml b/.github/actions/create_mrt/action.yml index 9d26beb124..02a12bad73 100644 --- a/.github/actions/create_mrt/action.yml +++ b/.github/actions/create_mrt/action.yml @@ -1,4 +1,5 @@ name: create_mrt +description: Create MRT credentials file inputs: mobify_user: description: "Mobify user email" diff --git a/.github/actions/datadog/action.yml b/.github/actions/datadog/action.yml index 8440688ae3..28064b5f6b 100644 --- a/.github/actions/datadog/action.yml +++ b/.github/actions/datadog/action.yml @@ -1,4 +1,5 @@ name: datadog +description: Send metrics to Datadog inputs: datadog_api_key: description: "Datadog API key" diff --git a/.github/actions/e2e_generate_app/action.yml b/.github/actions/e2e_generate_app/action.yml index 5504b56341..9512a633be 100644 --- a/.github/actions/e2e_generate_app/action.yml +++ b/.github/actions/e2e_generate_app/action.yml @@ -1,4 +1,5 @@ name: e2e_generate_app +description: Generate a new project for E2E testing inputs: PROJECT_KEY: description: Project key to specify project to generate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext") diff --git a/.github/actions/e2e_validate_generated_app/action.yml b/.github/actions/e2e_validate_generated_app/action.yml index acdb589c5a..e24e5fe227 100644 --- a/.github/actions/e2e_validate_generated_app/action.yml +++ b/.github/actions/e2e_validate_generated_app/action.yml @@ -1,4 +1,5 @@ name: e2e_validate_generated_app +description: Validate generated project for E2E testing inputs: PROJECT_KEY: description: Project key to specify project to validate ("retail-app-demo", "retail-app-ext" or "retail-app-no-ext") diff --git a/.github/actions/lighthouse_ci/action.yml b/.github/actions/lighthouse_ci/action.yml index e5697d5f76..d1677e8397 100644 --- a/.github/actions/lighthouse_ci/action.yml +++ b/.github/actions/lighthouse_ci/action.yml @@ -1,4 +1,5 @@ name: lighthouse_ci +description: Run Lighthouse CI performance tests runs: using: composite steps: diff --git a/.github/actions/linting/action.yml b/.github/actions/linting/action.yml index f00bc8e73f..a65b7c8b5e 100644 --- a/.github/actions/linting/action.yml +++ b/.github/actions/linting/action.yml @@ -1,4 +1,5 @@ name: linting +description: Run linting checks on the codebase inputs: cwd: required: false diff --git a/.github/actions/publish_to_npm/action.yml b/.github/actions/publish_to_npm/action.yml index d02cd69d08..6d1bbda572 100644 --- a/.github/actions/publish_to_npm/action.yml +++ b/.github/actions/publish_to_npm/action.yml @@ -1,4 +1,5 @@ name: publish_to_npm +description: Publish packages to NPM registry inputs: NODE_AUTH_TOKEN: description: "Node auth token" diff --git a/.github/actions/push_to_mrt/action.yml b/.github/actions/push_to_mrt/action.yml index 19515568c1..8cfbd2a3d1 100644 --- a/.github/actions/push_to_mrt/action.yml +++ b/.github/actions/push_to_mrt/action.yml @@ -1,4 +1,5 @@ name: push_to_mrt +description: Push bundle to MRT (Managed Runtime) inputs: CWD: description: Project directory diff --git a/.github/actions/smoke_tests/action.yml b/.github/actions/smoke_tests/action.yml index 135e6aca25..680c5e0f0b 100644 --- a/.github/actions/smoke_tests/action.yml +++ b/.github/actions/smoke_tests/action.yml @@ -1,4 +1,5 @@ name: smoke_tests +description: Run smoke tests on npm scripts inputs: dir: required: false diff --git a/.github/actions/snyk/action.yml b/.github/actions/snyk/action.yml index fb3cbe0541..a450c84b80 100644 --- a/.github/actions/snyk/action.yml +++ b/.github/actions/snyk/action.yml @@ -1,4 +1,5 @@ name: snyk +description: Run Snyk security audit on the project inputs: snyk_token: description: "Snyk token" From 30a241d3d2f7a623df21d913c728dbfb6247e4f5 Mon Sep 17 00:00:00 2001 From: Jainam Sheth Date: Thu, 15 Jan 2026 18:12:00 -0800 Subject: [PATCH 2/5] Add NPM token expiry verification script --- .github/workflows/nightly_release.yml | 34 +++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/.github/workflows/nightly_release.yml b/.github/workflows/nightly_release.yml index 9bd73eae97..5e9c4f8718 100644 --- a/.github/workflows/nightly_release.yml +++ b/.github/workflows/nightly_release.yml @@ -116,7 +116,7 @@ jobs: with: payload: | { - "message": "Successfully released PWA Kit v${{ env.nightly_version }}" + "message": "✅ Successfully released PWA Kit v${{ env.nightly_version }}" } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} @@ -128,7 +128,37 @@ jobs: with: payload: | { - "message": "Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" + "message": "❌Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + + - name: Check NPM Token Expiry + if: always() + run: | + LAST_ROTATION="${{ secrets.NPM_TOKEN_LAST_ROTATION_DATE }}" + + if [ -z "$LAST_ROTATION" ]; then + echo "NPM_TOKEN_LAST_ROTATION_DATE secret not set, skipping expiry check" + exit 0 + fi + + CURRENT_DATE=$(date +%s) + EXPIRY_DATE=$(( $LAST_ROTATION + 7776000 )) # 90 days in seconds (90 * 24 * 60 * 60) + DAYS_LEFT=$(( ($EXPIRY_DATE - $CURRENT_DATE) / 86400 )) + + echo "NPM Token last rotated: $(date -d @$LAST_ROTATION +'%Y-%m-%d')" + echo "Days until expiry: $DAYS_LEFT" + echo "days_left=$DAYS_LEFT" >> "$GITHUB_ENV" + echo "should_notify=$( [ $DAYS_LEFT -le 10 ] && echo 'true' || echo 'false' )" >> "$GITHUB_ENV" + + - name: Send Token Expiry Warning to Slack + if: always() && env.should_notify == 'true' + uses: slackapi/slack-github-action@v1.23.0 + with: + payload: | + { + "message": "⚠️ NPM Token expiring soon! Only ${{ env.days_left }} days remaining. Please rotate the token using instructions in PWA Kit Release Doc." } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} From 5664a400aa8c070cd638e197dec89f03d26b869a Mon Sep 17 00:00:00 2001 From: Jainam Sheth Date: Thu, 15 Jan 2026 18:14:46 -0800 Subject: [PATCH 3/5] Add emoji to slack notification --- .github/workflows/nightly_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_release.yml b/.github/workflows/nightly_release.yml index 5e9c4f8718..1e04bf7af8 100644 --- a/.github/workflows/nightly_release.yml +++ b/.github/workflows/nightly_release.yml @@ -128,7 +128,7 @@ jobs: with: payload: | { - "message": "❌Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" + "message": "❌ Failed to release PWA Kit v${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} From 1936bff11513466cebd90ba5cb411268bc237633 Mon Sep 17 00:00:00 2001 From: Jainam Sheth Date: Fri, 16 Jan 2026 15:51:46 -0800 Subject: [PATCH 4/5] Add a link to PWA Kit release doc --- .github/workflows/nightly_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_release.yml b/.github/workflows/nightly_release.yml index 1e04bf7af8..1e6362574b 100644 --- a/.github/workflows/nightly_release.yml +++ b/.github/workflows/nightly_release.yml @@ -158,7 +158,7 @@ jobs: with: payload: | { - "message": "⚠️ NPM Token expiring soon! Only ${{ env.days_left }} days remaining. Please rotate the token using instructions in PWA Kit Release Doc." + "message": "⚠️ NPM Token expiring soon! Only ${{ env.days_left }} days remaining. Please rotate the token using the instructions in this doc: ${{ secrets.PWA_KIT_RELEASE_DOC_LINK }}" } env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} From 2ae46a9a76d834ddafc244a80ed64d76629482c3 Mon Sep 17 00:00:00 2001 From: Jainam Sheth Date: Fri, 16 Jan 2026 16:03:30 -0800 Subject: [PATCH 5/5] Remove redundant env set --- .github/workflows/nightly_release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/nightly_release.yml b/.github/workflows/nightly_release.yml index 1e6362574b..1594eb0e69 100644 --- a/.github/workflows/nightly_release.yml +++ b/.github/workflows/nightly_release.yml @@ -26,7 +26,6 @@ jobs: echo "monorepo_version_base=$version" >> "$GITHUB_ENV" version_major=`echo "$version" | cut -d "." -f 1` echo "monorepo_version_major=$version_major" >> "$GITHUB_ENV" - echo "nightly_version=${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }}" ?? "$GITHUB_ENV" - name: Get nightly version run: echo "nightly_version=${{ env.monorepo_version_base }}-nightly-${{ env.release_timestamp }}" >> "$GITHUB_ENV"