Skip to content

Commit ca3d253

Browse files
committed
checkpoint two
1 parent eec422f commit ca3d253

File tree

3 files changed

+235
-98
lines changed

3 files changed

+235
-98
lines changed

.github/workflows/pr-dev-assistant.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ jobs:
268268
WORKSPACE_NAME="${{ needs.process-comment.outputs.branch_name }}"
269269
270270
# The CLI automatically masks secrets and sets outputs
271-
./dev/zen-dev auth --workspace "$WORKSPACE_NAME"
271+
./dev/zen-dev gh-action-login
272272
273273
echo "Successfully connected to ZenML workspace"
274274

dev/README.md

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,53 @@ A collection of developer tools for managing ZenML workspaces and running pipeli
44

55
## Authentication
66

7-
The CLI tool requires authentication to access the ZenML Cloud API. Set the following environment variables:
7+
The CLI tool requires authentication to access the ZenML Cloud API. You have two options:
88

99
```bash
10-
# Option 1: Using client credentials
10+
# Option 1: Using client credentials (for CI/CD)
1111
export CLOUD_STAGING_CLIENT_ID="your-client-id"
1212
export CLOUD_STAGING_CLIENT_SECRET="your-client-secret"
1313

14-
# Option 2: Using a token directly
15-
export CLOUD_STAGING_CLIENT_TOKEN="your-token"
14+
# Option 2: Using ZenML's authentication (for local development)
15+
# First login with: zenml login --pro-api-url https://staging.cloudapi.zenml.io
16+
# Then use zen-dev commands which will use your existing ZenML auth
1617
```
1718

1819
## Workspace Management Commands
1920

21+
### Build Docker images
22+
23+
```bash
24+
# Build a ZenML image
25+
./zen-dev build --repo zenmldocker
26+
27+
# Build a ZenML server image
28+
./zen-dev build --server --repo zenmldocker
29+
30+
# Build with a custom tag
31+
./zen-dev build --repo zenmldocker --tag v1.0
32+
33+
# Build and push
34+
./zen-dev build --repo zenmldocker --push
35+
```
36+
37+
`--repo` can also be set as an environment variable as `DEV_DOCKER_REPO`.
38+
`--tag` defaults to the sluggified branch name.
39+
2040
### Deploy a workspace
2141

2242
```bash
2343
# Create a new workspace with the latest ZenML version
24-
./zen-dev deploy --workspace my-workspace --zenml-version 0.81.0
44+
./zen-dev deploy --organization 0000000-0000-0000-000000
2545

2646
# Specify custom Docker image and Helm chart version
2747
./zen-dev deploy --workspace my-workspace --zenml-version 0.81.0 --docker-image zenmldocker/zenml-server:custom-tag --helm-version 0.36.0
2848
```
2949

50+
`--organization` can also be set as an environment variable as `DEV_ORGANIZATION_ID`.
51+
`--workspace` defaults to the sluggied branch name.
52+
`--zenml-version` defaults to the verions in the `VERSION` file.
53+
3054
### Update a workspace
3155

3256
```bash
@@ -37,14 +61,21 @@ export CLOUD_STAGING_CLIENT_TOKEN="your-token"
3761
./zen-dev update --workspace my-workspace --zenml-version 0.82.0 --docker-image zenmldocker/zenml-server:custom-tag
3862
```
3963

40-
### Authenticate with a workspace
64+
`--workspace` defaults to the sluggied branch name.
65+
66+
### Get environment information
4167

4268
```bash
43-
# Authenticate and create a service account for GitHub Actions
44-
./zen-dev auth --workspace my-workspace
69+
# Display current git branch, slugified name, and ZenML version
70+
./zen-dev info
71+
```
72+
73+
### GitHub Actions authentication
4574

46-
# Specify a custom service account name
47-
./zen-dev auth --workspace my-workspace --sa-name my-custom-sa
75+
```bash
76+
# For GitHub Actions workflows only
77+
# Outputs values in GitHub Actions output format
78+
./zen-dev gh-action-login
4879
```
4980

5081
### Destroy a workspace
@@ -102,23 +133,6 @@ Each pipeline can have:
102133

103134
For each pipeline, the system will generate all valid combinations of stack and parameter sets, which can be run individually or as a group.
104135

105-
### Running Pipelines from CLI
106-
107-
You can use the dev pipeline parser directly to test configurations:
108-
109-
```bash
110-
# Generate all configurations for all pipelines
111-
python dev/dev_pipelines_config_parser.py
112-
113-
# Filter for a specific pipeline
114-
python dev/dev_pipelines_config_parser.py --input "pipeline_name"
115-
116-
# Filter for a specific pipeline and stack
117-
python dev/dev_pipelines_config_parser.py --input "pipeline_name:aws"
118-
119-
# Filter for a specific pipeline, stack, and parameter set
120-
python dev/dev_pipelines_config_parser.py --input "pipeline_name:aws::small"
121-
```
122136

123137
### GitHub PR Comment Commands
124138

@@ -174,7 +188,7 @@ The system uses several components:
174188

175189
When a user comments on a PR with a command like `!run`, the system:
176190
1. Authenticates with the workspace
177-
2. Creates a service account for running pipelines
191+
2. Creates/Reuses a service account for running pipelines
178192
3. Parses the command to determine which pipelines to run
179193
4. Generates a matrix of configurations
180194
5. Runs each configuration as a separate job

0 commit comments

Comments
 (0)