Skip to content

web-platform-tests/wpt-pr-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f03de16 · Apr 18, 2024
Jan 19, 2024
Sep 19, 2022
Apr 18, 2024
Apr 18, 2024
Sep 19, 2022
Dec 13, 2019
Jan 14, 2020
Apr 11, 2018
Jan 19, 2024
Jan 19, 2024
Oct 28, 2022
Oct 28, 2022
Apr 18, 2024
Apr 18, 2024

Repository files navigation

wpt-pr-bot

A helper bot for web-platform-tests.

Authoring tests

For the purposes of automated testing, this project uses the replay module to record responses from the GitHub HTTP API. Contributors seeking to add new tests or modify existing tests will need to capture new request/response pairs. This can be achieved as follows:

  1. Create a "personal access token" though GitHub.com (no particular access scopes are necessary)
  2. Set the GITHUB_TOKEN environment variable to the value created above, set the REPLAY environment variable to record, and run the tests.
  3. If the tests pass, include the files that were generated by the previous command in the patch.

Development

Requirements:

  • Node v18

Getting Started

Download the dependencies

npm install

Running Tests

To lint and run the tests, run:

npm run test

Deploying

  1. Deploy:
    • # Create a variable to represent the version
      VERSION_ID="rev-$(git rev-parse --short HEAD)"
      
      # Deploy the new version but do not promote it
      gcloud --project=wpt-pr-bot app deploy --no-promote -v "${VERSION_ID}"
  2. Check the logs for the instance
    • gcloud --project=wpt-pr-bot app logs tail -s default -v "${VERSION_ID}"
    • Check to make sure that the app has started. It should print App started in ....
  3. Redirect traffic to the new version.
    • gcloud --project=wpt-pr-bot app services set-traffic default \
          --splits="${VERSION_ID}"=1
  4. Keep only 2 versions of the app (VERSION_ID and the previous version). To delete older versions:
    • # Check the number of versions. There should only be two.
      gcloud --project=wpt-pr-bot app versions list --service=default
      # If there are more than two. Get the version id.
      # Given old version ${REALLY_OLD_VERSION_ID}, delete it.
      gcloud --project=wpt-pr-bot app versions delete \
          ${REALLY_OLD_VERSION_ID} --service=default
  5. Monitor the "Recent Deliveries" tab in wpt. If there are any failures, use the command in step 2 to tail the logs.