liveBook · Manning

Deployment pipeline

As explained in Learn Go with Pocket-Sized Projects

Continuous integration is a software development practice in which changes are automatically built and tested when integrated into a shared codebase.

A CI test policy can run lightweight tests on pull requests and defer slower integration, benchmark, load, or performance tests to tagging and image-building runs. section 10.5.2

Skip heavier integration tests in short runs

In Go, check `testing.Short()` at the start of an integration test and call `t.Skip()` when it is true. Run lightweight suites with `go test -short ./...`. section 10.5.2

A gRPC habits-service integration scenario creates and lists habits, checks an invalid request, and normalizes generated IDs before comparing results.

How Learn Go with Pocket-Sized Projects covers it

How deep it goes
Shows how `go test -short` sets `testing.Short()` and skips integration tests, but does not detail CI-system configuration.
Examples
Uses a gRPC habits service to test creation, listing, invalid input, and generated IDs.
What you can do after
Configure Go integration tests to skip in lightweight runs with `-short`, reserving heavier checks for later runs.
How it connects
Connects continuous integration with integration testing, Go's testing package, pull requests, tagging, and image building.

Also explained in

Compare how 30 books explain deployment pipeline →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Go with Pocket-Sized Projects. The section links point to the parts of the book it draws on.