superset-showtime 0.1.0__tar.gz → 0.2.2__tar.gz
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.
Potentially problematic release.
This version of superset-showtime might be problematic. Click here for more details.
- superset_showtime-0.2.2/.claude/settings.local.json +36 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/CLAUDE.md +22 -17
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/PKG-INFO +97 -96
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/README.md +96 -95
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/pyproject.toml +4 -1
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/__init__.py +1 -3
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/cli.py +302 -173
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/core/aws.py +73 -24
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/core/circus.py +42 -58
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/core/emojis.py +0 -10
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/core/github.py +43 -1
- superset_showtime-0.2.2/showtime/core/label_colors.py +105 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/data/ecs-task-definition.json +4 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/tests/unit/test_circus.py +0 -57
- {superset_showtime-0.1.0/.github/workflows → superset_showtime-0.2.2/workflows-reference}/showtime-cleanup.yml +20 -9
- superset_showtime-0.2.2/workflows-reference/showtime-trigger.yml +135 -0
- superset_showtime-0.1.0/.claude/settings.local.json +0 -24
- superset_showtime-0.1.0/.github/workflows/showtime.yml +0 -185
- superset_showtime-0.1.0/showtime/core/config.py +0 -152
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/.gitignore +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/.pre-commit-config.yaml +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/Makefile +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/dev-setup.sh +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/pypi-push.sh +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/requirements-dev.txt +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/requirements.txt +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/__main__.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/commands/__init__.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/commands/start.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/showtime/core/__init__.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/tests/__init__.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/tests/unit/__init__.py +0 -0
- {superset_showtime-0.1.0 → superset_showtime-0.2.2}/uv.lock +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Read(//Users/max/code/superset/.github/workflows/**)",
|
|
5
|
+
"Bash(showtime stop:*)",
|
|
6
|
+
"Bash(python:*)",
|
|
7
|
+
"Bash(uv pip install:*)",
|
|
8
|
+
"Bash(aws configure:*)",
|
|
9
|
+
"Bash(env)",
|
|
10
|
+
"Bash(unset:*)",
|
|
11
|
+
"Bash(aws sts:*)",
|
|
12
|
+
"WebSearch",
|
|
13
|
+
"Bash(git add:*)",
|
|
14
|
+
"Bash(git commit:*)",
|
|
15
|
+
"Bash(ruff check:*)",
|
|
16
|
+
"Bash(pytest:*)",
|
|
17
|
+
"Bash(make test:*)",
|
|
18
|
+
"Bash(uv pip compile:*)",
|
|
19
|
+
"Bash(chmod:*)",
|
|
20
|
+
"Read(//Users/max/code/**)",
|
|
21
|
+
"Bash(aws efs create-file-system:*)",
|
|
22
|
+
"Bash(export AWS_PROFILE=\"\")",
|
|
23
|
+
"Bash(AWS_PROFILE=\"\" aws efs create-file-system --tags Key=Name,Value=superset-examples Key=Purpose,Value=shared-examples-duckdb --performance-mode generalPurpose)",
|
|
24
|
+
"Bash(env -u AWS_PROFILE aws efs create-file-system --tags Key=Name,Value=superset-examples Key=Purpose,Value=shared-examples-duckdb --performance-mode generalPurpose)",
|
|
25
|
+
"Bash(env -u AWS_PROFILE aws efs create-file-system --performance-mode generalPurpose)",
|
|
26
|
+
"Bash(env -u AWS_PROFILE aws efs describe-file-systems --query 'FileSystems[?Tags[?Key==`Name` && Value==`superset-examples`]]')",
|
|
27
|
+
"Bash(env -u AWS_PROFILE aws efs describe-file-systems)",
|
|
28
|
+
"Bash(env:*)",
|
|
29
|
+
"Bash(grep:*)",
|
|
30
|
+
"Bash(git grep:*)",
|
|
31
|
+
"Bash(git push:*)"
|
|
32
|
+
],
|
|
33
|
+
"deny": [],
|
|
34
|
+
"ask": []
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -166,20 +166,25 @@ showtime stop 34809 --force
|
|
|
166
166
|
|
|
167
167
|
## Current Implementation Status
|
|
168
168
|
|
|
169
|
-
### ✅
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
|
|
169
|
+
### ✅ Fully Implemented (Production Ready)
|
|
170
|
+
- **Blue-green deployment**: Zero-downtime updates with health checks
|
|
171
|
+
- **AWS integration**: Complete ECS/ECR operations with DockerHub pulling
|
|
172
|
+
- **Smart sync system**: Intelligent PR state detection and auto-sync
|
|
173
|
+
- **GitHub Actions workflows**: Drop-in replacement for ephemeral-env.yml
|
|
174
|
+
- **TTL-based cleanup**: Respects individual environment preferences
|
|
175
|
+
- **SHA override support**: Deploy any specific commit for testing
|
|
176
|
+
- **Freeze functionality**: Pin environments during testing
|
|
177
|
+
- **Enhanced CLI**: Clickable links, full-width tables, real-time progress
|
|
178
|
+
- **Unified label system**: Searchable namespaced labels with color themes
|
|
179
|
+
|
|
180
|
+
### 🎯 Label System (Streamlined)
|
|
181
|
+
- **Trigger labels**: `🎪 ⚡ showtime-trigger-start` (namespaced, searchable)
|
|
182
|
+
- **State labels**: `🎪 abc123f 🚦 running` (color-coded status)
|
|
183
|
+
- **Freeze support**: `🎪 🧊 showtime-freeze` (prevents auto-sync)
|
|
184
|
+
- **Automatic creation**: Labels get proper colors/descriptions automatically
|
|
185
|
+
|
|
186
|
+
### 📦 Ready for Deployment
|
|
187
|
+
- **GitHub Actions**: `workflows-reference/showtime-trigger.yml` + `showtime-cleanup.yml`
|
|
188
|
+
- **PyPI package**: Built with dependencies, ready for `pip install superset-showtime`
|
|
189
|
+
- **Testing infrastructure**: Comprehensive dry-run and manual testing support
|
|
190
|
+
- **Documentation**: Complete README with workflows and examples
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superset-showtime
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: 🎪 Apache Superset ephemeral environment management with circus tent emoji state tracking
|
|
5
5
|
Project-URL: Homepage, https://github.com/apache/superset-showtime
|
|
6
6
|
Project-URL: Documentation, https://superset-showtime.readthedocs.io/
|
|
@@ -72,22 +72,34 @@ Description-Content-Type: text/markdown
|
|
|
72
72
|
|
|
73
73
|
## 🎯 What is Showtime?
|
|
74
74
|
|
|
75
|
-
Superset Showtime
|
|
75
|
+
Superset Showtime is a CLI tool designed primarily for **GitHub Actions** to manage Apache Superset ephemeral environments. It uses **circus tent emoji labels** as a visual state management system and depends on Superset's existing build infrastructure.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
## 🚀 Quick Start for Superset Contributors
|
|
78
|
+
|
|
79
|
+
**Create an ephemeral environment:**
|
|
80
|
+
1. Go to your PR in GitHub
|
|
81
|
+
2. Add label: `🎪 ⚡ showtime-trigger-start`
|
|
82
|
+
3. Watch the magic happen - labels will update automatically
|
|
83
|
+
4. When you see `🎪 🚦 {sha} running`, your environment is ready!
|
|
84
|
+
5. Get URL from `🎪 🌐 {sha} {ip}` → `http://{ip}:8080`
|
|
85
|
+
6. **Every new commit automatically deploys a fresh environment** (zero-downtime)
|
|
86
|
+
|
|
87
|
+
**To test a specific commit without auto-updates:**
|
|
88
|
+
- Add label: `🎪 🧊 showtime-freeze` (prevents auto-sync on new commits)
|
|
78
89
|
|
|
79
|
-
**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
90
|
+
**Clean up when done:**
|
|
91
|
+
```bash
|
|
92
|
+
# Add this label:
|
|
93
|
+
🎪 🛑 showtime-trigger-stop
|
|
94
|
+
# All circus labels disappear, AWS resources cleaned up
|
|
95
|
+
```
|
|
84
96
|
|
|
85
|
-
|
|
97
|
+
## 🎪 How It Works
|
|
86
98
|
|
|
87
99
|
**🎪 GitHub labels become a visual state machine:**
|
|
88
100
|
```bash
|
|
89
101
|
# User adds trigger label in GitHub UI:
|
|
90
|
-
🎪 trigger-start
|
|
102
|
+
🎪 ⚡ showtime-trigger-start
|
|
91
103
|
|
|
92
104
|
# System responds with state labels:
|
|
93
105
|
🎪 abc123f 🚦 building # Environment abc123f is building
|
|
@@ -101,64 +113,40 @@ Superset Showtime replaces the complex GitHub Actions scripts for ephemeral envi
|
|
|
101
113
|
🎪 abc123f 🌐 52-1-2-3 # Available at http://52.1.2.3:8080
|
|
102
114
|
```
|
|
103
115
|
|
|
104
|
-
##
|
|
105
|
-
|
|
106
|
-
### 1. As a Contributor (Using GitHub Labels)
|
|
116
|
+
## 📊 For Maintainers (CLI Operations)
|
|
107
117
|
|
|
108
|
-
**
|
|
109
|
-
1. Go to your PR in GitHub
|
|
110
|
-
2. Add label: `🎪 trigger-start`
|
|
111
|
-
3. Watch the magic happen - labels will update automatically
|
|
112
|
-
4. When you see `🎪 🚦 {sha} running`, your environment is ready!
|
|
113
|
-
5. Get URL from `🎪 🌐 {sha} {ip}` → `http://{ip}:8080`
|
|
118
|
+
> **Note**: CLI is mainly for debugging or developing Showtime itself. Primary interface is GitHub labels above.
|
|
114
119
|
|
|
115
|
-
**
|
|
116
|
-
```bash
|
|
117
|
-
# Add these labels to enable Superset feature flags:
|
|
118
|
-
🎪 conf-enable-ALERTS # Enable alerts feature
|
|
119
|
-
🎪 conf-enable-DASHBOARD_RBAC # Enable dashboard RBAC
|
|
120
|
-
🎪 conf-disable-SSH_TUNNELING # Disable SSH tunneling
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
**Clean up when done:**
|
|
124
|
-
```bash
|
|
125
|
-
# Add this label:
|
|
126
|
-
🎪 trigger-stop
|
|
127
|
-
# All circus labels disappear, AWS resources cleaned up
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### 2. As a Maintainer (Using CLI)
|
|
131
|
-
|
|
132
|
-
**Install the CLI:**
|
|
120
|
+
**Install CLI for debugging:**
|
|
133
121
|
```bash
|
|
134
122
|
pip install superset-showtime
|
|
135
123
|
export GITHUB_TOKEN=your_token
|
|
136
124
|
```
|
|
137
125
|
|
|
138
|
-
**Monitor
|
|
126
|
+
**Monitor and debug:**
|
|
139
127
|
```bash
|
|
140
128
|
showtime list # See all active environments
|
|
141
|
-
showtime status 1234 #
|
|
142
|
-
showtime labels #
|
|
129
|
+
showtime status 1234 # Debug specific environment
|
|
130
|
+
showtime labels # Complete label reference
|
|
143
131
|
```
|
|
144
132
|
|
|
145
|
-
**
|
|
133
|
+
**Testing/development:**
|
|
146
134
|
```bash
|
|
147
|
-
showtime start 1234 --dry-run-aws # Test
|
|
135
|
+
showtime start 1234 --dry-run-aws # Test without AWS costs
|
|
148
136
|
showtime test-lifecycle 1234 # Full workflow simulation
|
|
149
137
|
```
|
|
150
138
|
|
|
139
|
+
> **Dependency**: This CLI coordinates with Superset's existing GitHub Actions build infrastructure. It orchestrates environments but relies on Superset's build workflows for container creation.
|
|
140
|
+
|
|
151
141
|
## 🎪 Complete Label Reference
|
|
152
142
|
|
|
153
143
|
### 🎯 Trigger Labels (Add These to Your PR)
|
|
154
144
|
|
|
155
145
|
| Label | Action | Result |
|
|
156
146
|
|-------|---------|---------|
|
|
157
|
-
| `🎪 trigger-start` | Create environment | Builds and deploys ephemeral environment |
|
|
158
|
-
| `🎪 trigger-stop` | Destroy environment | Cleans up AWS resources and removes all labels |
|
|
159
|
-
| `🎪
|
|
160
|
-
| `🎪 conf-enable-ALERTS` | Enable feature flag | Sets `SUPERSET_FEATURE_ALERTS=True` |
|
|
161
|
-
| `🎪 conf-disable-DASHBOARD_RBAC` | Disable feature flag | Sets `SUPERSET_FEATURE_DASHBOARD_RBAC=False` |
|
|
147
|
+
| `🎪 ⚡ showtime-trigger-start` | Create environment | Builds and deploys ephemeral environment with blue-green deployment |
|
|
148
|
+
| `🎪 🛑 showtime-trigger-stop` | Destroy environment | Cleans up AWS resources and removes all labels |
|
|
149
|
+
| `🎪 🧊 showtime-freeze` | Freeze environment | Prevents auto-sync on new commits (for testing specific SHAs) |
|
|
162
150
|
|
|
163
151
|
### 📊 State Labels (Automatically Managed)
|
|
164
152
|
|
|
@@ -168,16 +156,27 @@ showtime test-lifecycle 1234 # Full workflow simulation
|
|
|
168
156
|
| `🎪 🎯 {sha}` | Active environment pointer | `🎪 🎯 abc123f` |
|
|
169
157
|
| `🎪 🏗️ {sha}` | Building environment pointer | `🎪 🏗️ def456a` |
|
|
170
158
|
| `🎪 {sha} 📅 {timestamp}` | Creation time | `🎪 abc123f 📅 2024-01-15T14-30` |
|
|
171
|
-
| `🎪 {sha} 🌐 {ip
|
|
159
|
+
| `🎪 {sha} 🌐 {ip:port}` | Environment URL | `🎪 abc123f 🌐 52.1.2.3:8080` |
|
|
172
160
|
| `🎪 {sha} ⌛ {ttl}` | Time-to-live policy | `🎪 abc123f ⌛ 24h` |
|
|
173
161
|
| `🎪 {sha} 🤡 {username}` | Who requested | `🎪 abc123f 🤡 maxime` |
|
|
174
|
-
|
|
162
|
+
|
|
163
|
+
## 🔧 Testing Configuration Changes
|
|
164
|
+
|
|
165
|
+
**Approach**: Modify configuration directly in your PR code, then trigger environment.
|
|
166
|
+
|
|
167
|
+
**Workflow**:
|
|
168
|
+
1. Modify `superset_config.py` with your changes
|
|
169
|
+
2. Push commit → Creates new SHA (e.g., `def456a`)
|
|
170
|
+
3. Add `🎪 ⚡ showtime-trigger-start` → Deploys with your config
|
|
171
|
+
4. Test environment reflects your exact code changes
|
|
172
|
+
|
|
173
|
+
This approach creates traceable, reviewable changes that are part of your git history.
|
|
175
174
|
|
|
176
175
|
## 🔄 Complete Workflows
|
|
177
176
|
|
|
178
177
|
### Creating Your First Environment
|
|
179
178
|
|
|
180
|
-
1. **Add trigger label** in GitHub UI: `🎪 trigger-start`
|
|
179
|
+
1. **Add trigger label** in GitHub UI: `🎪 ⚡ showtime-trigger-start`
|
|
181
180
|
2. **Watch state labels appear:**
|
|
182
181
|
```
|
|
183
182
|
🎪 abc123f 🚦 building ← Environment is building
|
|
@@ -187,17 +186,15 @@ showtime test-lifecycle 1234 # Full workflow simulation
|
|
|
187
186
|
3. **Wait for completion:**
|
|
188
187
|
```
|
|
189
188
|
🎪 abc123f 🚦 running ← Now ready!
|
|
190
|
-
🎪 abc123f 🌐 52
|
|
189
|
+
🎪 abc123f 🌐 52.1.2.3:8080 ← Visit http://52.1.2.3:8080
|
|
191
190
|
```
|
|
192
191
|
|
|
193
|
-
###
|
|
192
|
+
### Testing Specific Commits
|
|
194
193
|
|
|
195
|
-
1. **Add
|
|
196
|
-
2. **
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
🎪 abc123f ⚙️ alerts ← After (feature enabled!)
|
|
200
|
-
```
|
|
194
|
+
1. **Add freeze label:** `🎪 🧊 showtime-freeze`
|
|
195
|
+
2. **Result:** Environment won't auto-update on new commits
|
|
196
|
+
3. **Use case:** Test specific SHA while continuing development
|
|
197
|
+
4. **Override:** Add `🎪 ⚡ showtime-trigger-start` to force update despite freeze
|
|
201
198
|
|
|
202
199
|
### Rolling Updates (Automatic!)
|
|
203
200
|
|
|
@@ -230,18 +227,18 @@ You'll see:
|
|
|
230
227
|
- **❌ External contributors** cannot trigger environments (no write access to add labels)
|
|
231
228
|
- **🔒 Secure by design** - only trusted users can create expensive AWS resources
|
|
232
229
|
|
|
233
|
-
###
|
|
230
|
+
### GitHub Actions Integration
|
|
234
231
|
|
|
235
|
-
|
|
232
|
+
Showtime is designed to be called by Superset's GitHub Actions workflows:
|
|
236
233
|
|
|
237
234
|
```yaml
|
|
238
|
-
# .github/workflows/
|
|
235
|
+
# .github/workflows/showtime.yml - Integrates with Superset's existing build workflows
|
|
239
236
|
on:
|
|
240
237
|
pull_request_target:
|
|
241
238
|
types: [labeled, unlabeled, synchronize]
|
|
242
239
|
|
|
243
240
|
jobs:
|
|
244
|
-
|
|
241
|
+
showtime-handler:
|
|
245
242
|
if: contains(github.event.label.name, '🎪')
|
|
246
243
|
steps:
|
|
247
244
|
- name: Install Showtime from PyPI
|
|
@@ -251,66 +248,70 @@ jobs:
|
|
|
251
248
|
run: python -m showtime handle-trigger ${{ github.event.pull_request.number }}
|
|
252
249
|
```
|
|
253
250
|
|
|
254
|
-
**
|
|
255
|
-
- **
|
|
256
|
-
- **
|
|
257
|
-
- **
|
|
251
|
+
**Integration approach:**
|
|
252
|
+
- **Coordinates with Superset builds** - Uses existing container build workflows
|
|
253
|
+
- **Runs trusted code** (from PyPI, not PR code)
|
|
254
|
+
- **Simple orchestration logic** (install CLI and run commands)
|
|
255
|
+
- **Leverages existing infrastructure** - Same AWS resources and permissions
|
|
258
256
|
|
|
259
257
|
## 🛠️ Installation & Setup
|
|
260
258
|
|
|
261
259
|
### For Contributors (GitHub Labels Only)
|
|
262
|
-
No installation needed! Just use
|
|
260
|
+
No installation needed! Just use GitHub labels to trigger environments.
|
|
263
261
|
|
|
264
|
-
### For Maintainers (CLI
|
|
262
|
+
### For Maintainers (Manual CLI Operations)
|
|
265
263
|
|
|
266
|
-
**Install CLI:**
|
|
264
|
+
**Install CLI for debugging/testing:**
|
|
267
265
|
```bash
|
|
268
266
|
pip install superset-showtime
|
|
269
267
|
export GITHUB_TOKEN=your_personal_access_token
|
|
270
268
|
```
|
|
271
269
|
|
|
272
|
-
**
|
|
270
|
+
**Manual operations:**
|
|
273
271
|
```bash
|
|
274
|
-
showtime list #
|
|
275
|
-
showtime status 1234 #
|
|
276
|
-
showtime labels #
|
|
272
|
+
showtime list # Monitor all active environments
|
|
273
|
+
showtime status 1234 # Debug specific environment
|
|
274
|
+
showtime labels # Reference complete label system
|
|
277
275
|
```
|
|
278
276
|
|
|
279
|
-
### For Repository
|
|
277
|
+
### For Repository Integration (GitHub Actions)
|
|
280
278
|
|
|
281
279
|
**1. Install GitHub workflows:**
|
|
282
|
-
Copy
|
|
280
|
+
Copy `workflows-reference/showtime-trigger.yml` and `workflows-reference/showtime-cleanup.yml` to Superset's `.github/workflows/`.
|
|
281
|
+
|
|
282
|
+
**2. Configure secrets (already exist in Superset):**
|
|
283
|
+
- `AWS_ACCESS_KEY_ID`
|
|
284
|
+
- `AWS_SECRET_ACCESS_KEY`
|
|
285
|
+
- `GITHUB_TOKEN`
|
|
283
286
|
|
|
284
|
-
**
|
|
285
|
-
-
|
|
286
|
-
- `AWS_SECRET_ACCESS_KEY` (already exists)
|
|
287
|
-
- `GITHUB_TOKEN` (already exists)
|
|
287
|
+
**3. Dependencies:**
|
|
288
|
+
Showtime coordinates with Superset's existing build infrastructure - no additional setup needed.
|
|
288
289
|
|
|
289
|
-
|
|
290
|
-
Remove or disable the current `ephemeral-env.yml` and `ephemeral-env-pr-close.yml`.
|
|
290
|
+
## 📊 CLI Reference (For Development/Debugging)
|
|
291
291
|
|
|
292
|
-
|
|
292
|
+
> **Primary Interface**: Use GitHub labels in PR interface. CLI is mainly for maintainers debugging or developing Showtime itself.
|
|
293
293
|
|
|
294
|
-
###
|
|
294
|
+
### Debugging Commands
|
|
295
295
|
```bash
|
|
296
|
-
showtime
|
|
297
|
-
showtime
|
|
298
|
-
showtime
|
|
299
|
-
showtime
|
|
300
|
-
showtime labels # Complete label reference guide
|
|
296
|
+
showtime list # Monitor all environments
|
|
297
|
+
showtime status 1234 # Debug specific environment
|
|
298
|
+
showtime labels # Complete label reference
|
|
299
|
+
showtime test-lifecycle 1234 # Full workflow simulation
|
|
301
300
|
```
|
|
302
301
|
|
|
303
|
-
###
|
|
302
|
+
### Manual Operations (Advanced)
|
|
304
303
|
```bash
|
|
305
|
-
showtime start 1234
|
|
306
|
-
showtime
|
|
307
|
-
showtime
|
|
304
|
+
showtime start 1234 # Manually create environment
|
|
305
|
+
showtime start 1234 --sha abc123f # Create environment (specific SHA)
|
|
306
|
+
showtime stop 1234 # Manually delete environment
|
|
307
|
+
showtime sync 1234 # Force sync to desired state
|
|
308
|
+
showtime cleanup --respect-ttl # Manual cleanup
|
|
308
309
|
```
|
|
309
310
|
|
|
310
|
-
###
|
|
311
|
+
### GitHub Actions Commands
|
|
311
312
|
```bash
|
|
312
|
-
showtime
|
|
313
|
-
showtime
|
|
313
|
+
showtime handle-trigger 1234 # Process trigger labels (called by GHA)
|
|
314
|
+
showtime cleanup --older-than 48h # Scheduled cleanup (called by GHA)
|
|
314
315
|
```
|
|
315
316
|
|
|
316
317
|
## 🎪 Benefits for Superset
|
|
@@ -319,7 +320,7 @@ showtime list --status running --user maxime # Filter environments
|
|
|
319
320
|
- **🎯 Simple workflow** - Just add/remove GitHub labels
|
|
320
321
|
- **👀 Visual feedback** - See environment status in PR labels
|
|
321
322
|
- **⚡ Automatic updates** - New commits update environments automatically
|
|
322
|
-
- **🔧
|
|
323
|
+
- **🔧 Configuration testing** - Test config changes through code commits
|
|
323
324
|
|
|
324
325
|
### For Maintainers
|
|
325
326
|
- **📊 Complete visibility** - `showtime list` shows all environments
|