haven-cypress-integration 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +34 -10
  2. package/index.js +2 -2
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -28,24 +28,30 @@ it("User registration @TC-AUTO-124, @p1", () => {
28
28
 
29
29
  ### 3. Build Docker Image
30
30
  ```bash
31
- npx haven-cypress build
31
+ npx haven-cypress build --product=BE
32
32
  ```
33
33
 
34
- ### 4. Deploy to Haven
35
- Your Docker image is now ready to be deployed and run by HAVEN!
34
+ ### 4. Push to ECR and Deploy to Haven
35
+ ```bash
36
+ npx haven-cypress build --product=BE --push
37
+ ```
38
+ Your Docker image is now pushed to ECR and ready to be deployed and run by HAVEN!
36
39
 
37
40
  ## Commands
38
41
 
39
42
  ### Build Image
40
43
  ```bash
41
- # Basic build
42
- npx haven-cypress build
44
+ # Basic build with product organization
45
+ npx haven-cypress build --product=BE
43
46
 
44
- # Custom tag
45
- npx haven-cypress build --tag=my-tests:v1.0
47
+ # Custom tag with product
48
+ npx haven-cypress build --product=BE --tag=v1.0
46
49
 
47
- # Build and push to registry
48
- npx haven-cypress build --tag=my-tests:v1.0 --push
50
+ # Build and push to ECR haven-test-images repository
51
+ npx haven-cypress build --product=BE --push
52
+
53
+ # Build and push with custom tag
54
+ npx haven-cypress build --product=BE --tag=v1.0 --push
49
55
  ```
50
56
 
51
57
  ### Run Tests
@@ -57,12 +63,29 @@ npx haven-cypress run
57
63
  npx haven-cypress run --automationIds=TC-AUTO-123,TC-AUTO-124
58
64
  ```
59
65
 
66
+ ### ECR Image Organization
67
+ Images are organized in the `haven-test-images` ECR repository with product-based tagging:
68
+ ```
69
+ Repository: haven-test-images
70
+ ├── BE-latest-2025-09-10T10-52-44
71
+ ├── BE-v1.0-2025-09-10T14-30-15
72
+ ├── billexplainer-latest-2025-09-10T11-15-30
73
+ └── payments-latest-2025-09-10T12-00-45
74
+ ```
75
+
76
+ **Tag Format**: `{PRODUCT}-{VERSION}-{TIMESTAMP}`
77
+ - **Product**: Organizes images by product/team
78
+ - **Version**: `latest` (default) or custom tag (e.g., `v1.0`)
79
+ - **Timestamp**: Ensures unique tags and prevents overwrites
80
+
60
81
  ## What's Included
61
82
 
62
83
  - ✅ **Tag-based test filtering** (`@TC-AUTO-XXXX`)
84
+ - ✅ **Product-based organization** (ECR repository management)
63
85
  - ✅ **Mochawesome reporting** with screenshots
64
86
  - ✅ **S3 artifact upload** (reports, logs, screenshots)
65
87
  - ✅ **HAVEN API integration** (result synchronization)
88
+ - ✅ **ECR integration** (automatic push to haven-test-images repository)
66
89
  - ✅ **Docker containerization** ready for HAVEN deployment
67
90
 
68
91
  ## How It Works
@@ -76,8 +99,9 @@ npx haven-cypress run --automationIds=TC-AUTO-123,TC-AUTO-124
76
99
  ## Requirements
77
100
 
78
101
  - Node.js 14+
79
- - Docker
102
+ - Docker or Podman
80
103
  - Existing Cypress project
104
+ - AWS credentials configured (for ECR push)
81
105
  - HAVEN access credentials (provided by Haven when container runs)
82
106
 
83
107
  ## Support
package/index.js CHANGED
@@ -152,7 +152,7 @@ class HavenCypressIntegration {
152
152
  const ecrRepo = 'haven-test-images';
153
153
  const ecrUri = `${accountId}.dkr.ecr.${region}.amazonaws.com/${ecrRepo}`;
154
154
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
155
- const ecrTag = `${product}/${localTag.split(':')[1] || 'latest'}-${timestamp}`;
155
+ const ecrTag = `${product}-${localTag.split(':')[1] || 'latest'}-${timestamp}`;
156
156
  const fullEcrUri = `${ecrUri}:${ecrTag}`;
157
157
 
158
158
  console.log(`🏷️ ECR tag: ${ecrTag}`);
@@ -172,7 +172,7 @@ class HavenCypressIntegration {
172
172
 
173
173
  console.log(`✅ Image pushed successfully!`);
174
174
  console.log(`📍 ECR URI: ${fullEcrUri}`);
175
- console.log(`🗂️ Organization: ${ecrRepo}/${product}/`);
175
+ console.log(`🗂️ Product Organization: ${product} (tag: ${ecrTag})`);
176
176
 
177
177
  } catch (error) {
178
178
  console.error(`❌ Failed to push to ECR: ${error.message}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haven-cypress-integration",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Seamless Cypress integration with HAVEN test case management",
5
5
  "main": "index.js",
6
6
  "bin": {