Skip to content

Toavina23/shorebird

 
 

Repository files navigation

Shorebird 🐦

Discord

ci e2e License: MIT License: Apache

Home of the Shorebird Tools

Status

Shorebird code push is in Open Beta! Instructions for install and usage are at https://docs.shorebird.dev/

Packages

This repository is a monorepo containing the following packages:

Package Description
shorebird_cli Command-line which allows developers to interact with various Shorebird services
shorebird_code_push_client Dart library which allows Dart applications to interact with the ShoreBird CodePush API
shorebird_code_push_protocol Dart library which contains common interfaces used by Shorebird CodePush
discord_gcp_alerts Dart server which forwards GCP alerts to Discord
jwt Dart library for verifying Json Web Tokens

For more information, please refer to the documentation for each package.

❗️ Note: This project is under heavy development. Things will change frequently and none of the code is ready for production use. We will do our best to keep the documentation up-to-date.

Contributing

If you're interested in contributing, please join us on Discord.

Environment setup

Working on Shorebird requires Dart and Rust.

Once both are installed, ./scripts/bootstrap.sh will run pub get all packages in the repository.

Running tests

We don't yet have a script to run tests locally. For now, we recommend using very_good test -r in the packages directory to run all shorebird tests.

(If you run it in the root, it will find packages in bin/cache/flutter and try to run tests there, some of which will fail.)

To generate a coverage report install lcov:

brew install lcov

Then run tests with the --coverage flag:

very_good test -r --coverage
genhtml coverage/lcov.info -o coverage

You can view the generated coverage report via:

open coverage/index.html

Tracking coverage

The following command will generate a coverage report for the Dart packages:

dart test --coverage=coverage && dart pub global run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --check-ignore

We don't yet have a recommended way to view the coverage report but there are several extensions available in VSCode.

License

Shorebird projects are licensed for use under either Apache License, Version 2.0 (LICENSE-APACHE or http:https://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or http:https://opensource.org/licenses/MIT) at your option.

See our license philosophy for more information on why we license files this way: https://github.com/shorebirdtech/handbook/blob/main/engineering.md#licensing-philosophy

About

Home of the Shorebird Tools 🐦

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 98.7%
  • Other 1.3%