Skip to content

🥐a service for collecting and tracking flaky tests

License

Notifications You must be signed in to change notification settings

cedpeters/flaky-service

 
 

Repository files navigation

Google Cloud Platform logo

release level npm version codecov

Quickstart

Developing

  • docker-compose.yml: run docker-compose up, to start the flaky.dev service locally for testing.
  • packages/frontend: frontend service for configuring flaky.dev.
  • packages/server: API surface for collecting flaky test information.

Supported Node.js Versions

Our client libraries follow the Node.js release schedule. Libraries are compatible with all current active and maintenance versions of Node.js.

Client libraries targetting some end-of-life versions of Node.js are available, and can be installed via npm dist-tags. The dist-tags follow the naming convention legacy-(version).

Legacy Node.js versions are supported as a best effort:

  • Legacy versions will not be tested in continuous integration.
  • Some security patches may not be able to be backported.
  • Dependencies will not be kept up-to-date, and features will not be backported.

Legacy tags available

  • legacy-8: install client libraries from this dist-tag for versions compatible with Node.js 8.

Versioning

This library follows Semantic Versioning.

This library is considered to be in beta. This means it is expected to be mostly stable while we work toward a general availability release; however, complete stability is not guaranteed. We will address issues and requests against beta libraries with a high priority.

More Information: Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See the Contributing Guide.

Please note that this README.md, the samples/README.md, and a variety of configuration files in this repository (including .nycrc and tsconfig.json) are generated from a central template. To edit one of these files, make an edit to its template in this directory.

Deployment

The building and deployment process of Flaky.dev has been automated using Cloud Build triggers. The build steps are outlined in the following files:

We have implemented a two-pipeline deployment process:

  • One pipeline builds our API container and deploys it to Cloud Run
  • One pipeline builds the frontend and deploys it to Firebase Hosting

The following environment variables need to be set within the Cloud Run service directly from the Google Cloud Platform console:

  • HEAD_COLLECTION = name of head Firestore collection
  • FLAKY_DB_PROJECT = name of Google Cloud Project with access to Firestore
  • CLIENT_ID = name of secret GitHub Client ID for authentication
  • CLIENT_SECRET = name of GitHub Client Secret for authentication

The following substitutions need to be set within the API Cloud Build Trigger directly from the Google Cloud Platform console:

  • _API_CONTAINER = name of API Cloud Run container
  • _PROJECT_ID = name of Google Cloud Project using Cloud Run

The following substituion needs to be set within the frontend Cloud Build Trigger:

  • _PROJECT_ID = name of Googleee Cloud Project using Firebase Hosting

Staging Environment

If you would like to use our staging environment, push your changes to override the firebase-cloudrun-deployment branch. As long as the packages/frontend/deployment folder is unchanged, the build process will be automated and you will be able to view your changes on the following site: flaky-dev-staging.web.app.

License

Apache Version 2.0

See LICENSE

About

🥐a service for collecting and tracking flaky tests

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 63.4%
  • JavaScript 22.7%
  • HTML 6.9%
  • CSS 5.9%
  • Other 1.1%