mirror of https://github.com/pulumi/pulumi.git
67208a3f27
This re-adds project support back to the filestate backend. For backwards compatibility, and to plan for the future, this requires versioning the storage state. To do that, we introduce a .pulumi/Pulumi.yaml file where we hold metadata like the version of the filestate storage format. Version 1 is the initial version that introduces project support. # .pulumi/Pulumi.yaml version: 1 If we ever need to make breaking changes to the storage protocol we can bump the format version. Newly initialized states will use the new project-mode format. Existing states will continue to run in the old, non-project mode. State can be migrated to the new format with `pulumi state upgrade`, at which point they will become incompatible with older CLIs. For more graceful degradation, if an old CLI writes to an upgraded state the CLI will warn about these files, and recommend re-running upgrade. Testing: Some tests inside filestate/backend were duplicated for legacy and project variants. |
||
---|---|---|
.. | ||
benchmarks/go-alias-norm | ||
examples | ||
integration | ||
testprovider | ||
.gitignore | ||
README.md | ||
about_test.go | ||
config_test.go | ||
go.mod | ||
go.sum | ||
history_test.go | ||
login_test.go | ||
main_test.go | ||
remote_test.go | ||
roundtrip_test.go | ||
stack_test.go |
README.md
Integration Tests
This module provides integration tests for the Pulumi CLI.
The tests can be run via:
make test_all
Usage of Go build tags
In order to speed up integration tests in GitHub actions, Go build tags are used to conditionally compile the desired test cases.
// integration_nodejs_test.go
//go:build (nodejs || all) && !xplatform-acceptance
// integration_nodejs_acceptance_test.go
//go:build nodejs || all