chirpstack/Makefile
Orne Brocaar b263b86675 Add feature-flags to exclude some integration tests.
This reduces the number of external services that must be running to
succesful run 'cargo test'. In this case one the requirements that
ChirpStack has must be present and there is no need to run local
Kafka and RabbitMQ instances.

These integrations can still be tested using the 'test-all-integrations'
feature flag (which is included in the CI workflow).
2023-06-26 12:44:22 +01:00

70 lines
2.2 KiB
Makefile

.PHONY: dist api
# Build distributable binaries.
dist:
cd chirpstack && make dist
# Install dev dependencies
dev-dependencies:
cargo install cross --version 0.2.5
cargo install diesel_cli --version 2.1.0 --no-default-features --features postgres
cargo install cargo-deb --version 1.43.1
cargo install cargo-bitbake --version 0.3.16
cargo install cargo-generate-rpm --version 0.11.0
# Set the versions
version:
test -n "$(VERSION)"
sed -i 's/^version.*/version = "$(VERSION)"/g' ./chirpstack/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./backend/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./lrwn/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./lrwn-filters/Cargo.toml
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./ui/package.json
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./api/grpc-web/package.json
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./api/js/package.json
sed -i 's/version.*/version = "$(VERSION)",/g' ./api/python/src/setup.py
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/rust/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/java/build.gradle.kts
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/kotlin/build.gradle.kts
cd api && make
make build-ui
make test
git add .
git commit -v -m "Bump version to $(VERSION)"
git tag -a v$(VERSION) -m "v$(VERSION)"
git tag -a api/go/v$(VERSION) -m "api/go/v$(VERSION)"
api: version
cd api && make
# Builds the UI.
build-ui:
docker-compose run --rm --no-deps chirpstack-ui make build
# Enter the devshell.
devshell:
nix-shell
# Enters the Docker devshell for ChirpStack development.
docker-devshell:
docker-compose run --rm --service-ports --name chirpstack chirpstack
# Enters the devshell for ChirpStack UI development.
docker-devshell-ui:
docker-compose run --rm --service-ports --name chirpstack-ui chirpstack-ui bash
# Runs the tests
test:
cd backend && cargo test
cd chirpstack && make test
cd lrwn && make test
cd lrwn-filters && make test
# Runs all the tests (including some that normally are ignored)
test-all:
cd backend && cargo test
cd chirpstack && make test-all
cd lrwn && make test
cd lrwn-filters && make test