diff --git a/CHANGELOG.md b/CHANGELOG.md index 50c4e99..3b5543c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,58 +2,86 @@ All notable portfolio milestones are documented in this file. -## Unreleased — v1.1.0 Day 6 Automation +## 1.1.0 — Day 6 Newman and GitHub Actions Automation — 2026-08-06 ### Added -- Newman as a project dependency -- `package.json` and `package-lock.json` -- Public-safe 19-request CI smoke/regression collection -- GitHub Actions API workflow +- Newman command-line execution as a project dependency +- Stable 19-request CI smoke/regression collection +- 45 passing CI assertions +- GitHub Actions API-test automation - Repository-secret credential handling -- Smoke JSON and JUnit reporting +- Smoke-suite JSON and JUnit reporting - Complete-validation JSON and JUnit reporting -- Separate workflow artifact groups -- Automation documentation -- Day 6 execution report +- Separate smoke and complete-validation workflow artifact groups +- Day 6 Newman and GitHub Actions execution report - API, database and automation executive summary - CI troubleshooting case study +- CI coverage-mapping document - Day 6 screenshot evidence index -- 45 passing CI assertions across 19 requests +- Final pull-request validation evidence +- Final successful `main` workflow evidence +- Final informational-notice workflow evidence ### Changed -- Expanded the root README with CI/CD results and skills -- Expanded Postman documentation with Newman commands +- Expanded the root README with verified CI/CD results, automation strategy and skills +- Expanded Postman documentation with reproducible Newman commands +- Expanded automation documentation with local and GitHub Actions execution instructions - Expanded the reports index with Day 6 deliverables - Expanded the project journal through Day 6 -- Expanded the screenshot index with automation evidence -- Finalized workflow triggers for `main`, pull requests and manual runs -- Merged the Day 6 pull request into `main` -- Verified the final `main` run with 19 requests and 45 passing assertions +- Expanded the screenshot index with automation and workflow evidence +- Finalized workflow triggers for `main`, pull requests and manual execution +- Used the 19-request CI smoke/regression suite as the strict passing quality gate +- Preserved the complete validation suite for known-defect reporting +- Replaced duplicate full-validation warning annotations with one informational notice +- Merged the Day 6 automation pull request into `main` +- Verified the final `main` workflow with 19 requests and 45 passing assertions +- Aligned all Day 6 documentation with the verified CI execution results + +### Verified Automation Results + +| Metric | Result | +|---|---:| +| CI requests executed | 19 | +| CI test scripts executed | 19 | +| CI pre-request scripts executed | 2 | +| CI assertions executed | 45 | +| CI assertions passed | 45 | +| CI assertions failed | 0 | +| CI runtime errors | 0 | +| Complete validation requests | 26 | +| Complete validation test scripts | 26 | +| Complete validation assertions | 61 | +| Complete validation assertions passed | 51 | +| Known complete-suite failures | 10 | +| Complete-suite runtime errors | 0 | +| GitHub Actions quality gate | Pass | +| Workflow artifact groups | 2 | +| Automated report formats | JSON and JUnit | ### Preserved -- Original 25-test-case baseline +- Original 25-test-case manual and API baseline - Day 5 collection expectations -- Ten known failed assertions -- Three confirmed defect reports -- Day 4 database results +- Complete 26-request validation collection +- Complete 61-assertion validation baseline +- Ten documented failed assertions +- Three confirmed API defect reports +- Day 4 PostgreSQL validation results - Public API and local database separation +- All existing Postman requests, assertions and test-case logic +- All existing SQL validation scripts and database evidence ### Security - Credentials use GitHub repository secrets in CI -- Local environments remain ignored +- Public environment credential values remain blank +- Local Postman environments remain ignored - Generated Newman output remains ignored locally -- Public assets remain sanitized - -After the documentation alignment is committed and the GitHub release -is published, rename this section to: - -```text -## 1.1.0 — Day 6 Newman and GitHub Actions Automation -``` +- Active tokens and passwords are not committed +- Public collections, reports and screenshots remain sanitized +- Workflow permissions remain read-only for repository contents ## 1.0.0 — Day 5 Manual, API and Database Testing Baseline diff --git a/README.md b/README.md index 27ddd00..4e469a5 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ testing activities rather than as direct API-to-database reconciliation. | Runtime errors | 0 | | Confirmed API defects | 3 | -### GitHub Actions CI Quality Gate +### Day 6 — Newman and GitHub Actions | Metric | Result | |---|---:| @@ -63,11 +63,18 @@ testing activities rather than as direct API-to-database reconciliation. | CI assertions passed | 45 | | CI assertions failed | 0 | | CI runtime errors | 0 | -| GitHub Actions result | Pass | +| GitHub Actions quality gate | Pass | | Automated report formats | JSON and JUnit | | Workflow artifact groups | 2 | -The final `main` workflow completed successfully. +The stable CI smoke/regression collection is the strict passing quality +gate. The final workflow completed successfully on `main` with all 45 CI +assertions passing. + +The complete 26-request validation suite remains separate for +requirement and known-defect reporting. Its 10 documented failed +assertions remain visible without overriding the successful CI quality +gate. Newman uses `test-scripts` to describe post-response scripts. The project's documented manual/API baseline remains 25 test cases. @@ -349,22 +356,20 @@ api-database-testing-portfolio/ ## Release Status -The Day 6 work is merged and verified on `main`. +## Latest Release -Current published release: +[Day 6 — Newman and GitHub Actions Automation](https://github.com/daryal89/api-database-testing-portfolio/releases/tag/v1.1.0) -[Day 5 — Manual, API and Database Testing Baseline](https://github.com/daryal89/api-database-testing-portfolio/releases/tag/v1.0.0) +The `v1.1.0` release adds Newman command-line execution, a stable +19-request CI smoke/regression collection, 45 passing CI assertions, +GitHub Actions automation, repository-secret credential handling, +JSON and JUnit reports, workflow artifacts, CI coverage mapping and +troubleshooting documentation. -Next release: +Previous release: -```text -Tag: v1.1.0 -Title: Day 6 — Newman and GitHub Actions Automation -Target: main -``` +[Day 5 — Manual, API and Database Testing Baseline](https://github.com/daryal89/api-database-testing-portfolio/releases/tag/v1.0.0) -The remaining Day 6 step is to publish `v1.1.0` after this -documentation-only alignment is merged. ## Project Development History diff --git a/screenshots/README.md b/screenshots/README.md index bbc3c5e..86bc87d 100644 --- a/screenshots/README.md +++ b/screenshots/README.md @@ -139,6 +139,7 @@ by the public Restful Booker API. | [Workflow artifacts](day6-automation/day6-15-github-actions-artifacts.png) | Shows both JSON/JUnit artifact groups | | [Pull-request checks](day6-automation/day6-16-pull-request-checks-passed.png) | Confirms validation before merge | | [Final main-branch workflow](day6-automation/day6-17-main-branch-workflow-success.png) | Confirms the merged workflow passed on `main`, preserved complete-suite findings and generated both artifact groups | +| [Final workflow notice summary](day6-automation/day6-18-main-workflow-notice-summary.png) | Confirms the final successful `main` workflow, one expected Newman exit-code annotation, one informational notice, and both Newman report artifact groups | The initial failed workflow is retained as troubleshooting evidence. It does not represent the final automation result. diff --git a/screenshots/day6-automation/day6-18-main-workflow-notice-summary.png b/screenshots/day6-automation/day6-18-main-workflow-notice-summary.png new file mode 100644 index 0000000..ea9e287 Binary files /dev/null and b/screenshots/day6-automation/day6-18-main-workflow-notice-summary.png differ