The Wayback Machine - https://web.archive.org/web/20221205133504/https://github.com/web-platform-tests/wpt-pr-bot
Skip to content

web-platform-tests/wpt-pr-bot

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 v16

Getting Started

Download the dependencies

npm install

Running Tests

To lint and run the tests, run:

npm run test

Deploying

  1. Get the secrets:
    • npm run gcp-build
    • TODO: Can remove step 1 after #213
  2. 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}"
  3. 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 ....
  4. Redirect traffic to the new version.
    • gcloud --project=wpt-pr-bot app services set-traffic default \
          --splits="${VERSION_ID}"=1
  5. 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
  6. Monitor the "Recent Deliveries" tab in wpt. If there are any failures, use the command in step 3 to tail the logs.