flowchart TD
A[Create Pre-Release<br/>1.0.0-rc1] --> B[Install 1.0.0-rc1]
B --> C[Run Integration Tests]
C --> D{Tests Passed?}
D -- Yes --> E[Create Main Release<br/>1.0.0]
D -- No --> F[Fix Issues]
F --> G[Create New Pre-Release Version<br/>1.0.0-rc2, rc3, ...]
G --> H[Install New Pre-Release Version]
H --> C
Create a simple release flow where a pre-release version is built first. Run integration tests on this pre-release version (rc1). If all tests pass, automatically create and release the main (final) version. This ensures only tested and verified code is released to production.
Idea of separating tests for local code and for the published remote package - https://github.com/Filipo11021/nodejs-password-hashing/tree/experimental/separate-acceptance-tests
flowchart TD A[Create Pre-Release<br/>1.0.0-rc1] --> B[Install 1.0.0-rc1] B --> C[Run Integration Tests] C --> D{Tests Passed?} D -- Yes --> E[Create Main Release<br/>1.0.0] D -- No --> F[Fix Issues] F --> G[Create New Pre-Release Version<br/>1.0.0-rc2, rc3, ...] G --> H[Install New Pre-Release Version] H --> C