@@ -26,49 +26,33 @@ tasks:
2626 # SDK tasks (top-level, user-facing)
2727 # ---------------------------------------------------------------------------
2828
29- sdk:deps:cicd:iodc-token-generation :
30- desc : Get Fulcio OIDC token for CICD
31- requires :
32- vars : [CLIENT_ID]
33- cmds :
34- - |
35- OIDC_TOKEN=$(curl -s -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
36- "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=sigstore" | jq -r '.value')
37-
38- CLIENT_ID="{{.CLIENT_ID}}"
39- PROVIDER_URL="https://token.actions.githubusercontent.com"
40-
41- echo "OIDC_PROVIDER_URL=${PROVIDER_URL}"
42- echo "CLIENT_ID=${CLIENT_ID}"
43- echo "OIDC_TOKEN=${OIDC_TOKEN}"
44-
45- sdk:build:python :
29+ build :
4630 desc : Build python client SDK package
4731 deps :
48- - task : sdk: deps:python
32+ - task : deps
4933 cmds :
5034 - " {{.UV_BIN}} build"
5135
52- sdk: test-env:create :
36+ test-env:create :
5337 desc : Create Kubernetes cluster test environment
5438 cmds :
55- - task : test-env:kubernetes:local
39+ - task : test-env:deploy
5640 vars :
5741 DIRECTORY_SERVER_PUBLICATION_SCHEDULER_INTERVAL : 1s
5842 DIRECTORY_SERVER_OASF_API_VALIDATION_SCHEMA_URL : " https://schema.oasf.outshift.com"
5943
60- sdk: test-env:delete :
44+ test-env:delete :
6145 desc : Delete Kubernetes cluster test environment
6246 cmds :
63- - task : test-env:kubernetes:local :cleanup
47+ - task : test-env:deploy :cleanup
6448
6549 sdk:test:python :
6650 desc : Test python client SDK package
6751 deps :
68- - task : sdk: deps:python
52+ - task : deps
6953 cmds :
70- - defer : { task: sdk: test-env:delete }
71- - task : sdk: test-env:create
54+ - defer : { task: test-env:delete }
55+ - task : test-env:create
7256 - |
7357 export DIRCTL_IMAGE_TAG="{{ .DIRCTL_IMAGE_TAG }}"
7458 export COSIGN_PATH="$(printf "%s" "${COSIGN_PATH:-{{ .COSIGN_BIN }}}")"
8165 '{{ .UV_BIN }}' sync
8266 '{{ .UV_BIN }}' run python example.py
8367
84- sdk: deps:python :
68+ deps :
8569 desc : Install deps for python SDK package
8670 deps :
8771 - task : deps:uv
9074 cmds :
9175 - " {{.UV_BIN}} sync --all-packages"
9276
93- sdk: deps:python :example :
77+ deps:example :
9478 desc : Install deps for Python SDK example package
9579 internal : true
9680 dir : ./examples
@@ -99,13 +83,38 @@ tasks:
9983 cmds :
10084 - " {{.UV_BIN}} sync --all-packages"
10185
102- sdk:tidy :
86+ deps:packages :
87+ desc : Install Python package dependencies (uv sync only)
88+ internal : true
89+ deps :
90+ - task : deps:uv
91+ cmds :
92+ - " {{.UV_BIN}} sync --all-packages"
93+
94+ lint :
95+ desc : Lint Python SDK (ruff check + format check + mypy)
96+ deps :
97+ - task : deps:packages
98+ cmds :
99+ - " {{.UV_BIN}} run ruff check dir-sdk-python examples"
100+ - " {{.UV_BIN}} run ruff format --check dir-sdk-python examples"
101+ - " {{.UV_BIN}} run mypy dir-sdk-python examples"
102+
103+ lint:fix :
104+ desc : Auto-fix Python lint and formatting (local dev)
105+ deps :
106+ - task : deps:packages
107+ cmds :
108+ - " {{.UV_BIN}} run ruff check --fix dir-sdk-python examples"
109+ - " {{.UV_BIN}} run ruff format dir-sdk-python examples"
110+
111+ deps:tidy :
103112 desc : Install deps for SDK packages
104113 cmds :
105- - task : sdk: deps:python
106- - task : sdk: deps:python :example
114+ - task : deps
115+ - task : deps:example
107116
108- sdk: release:python :
117+ release :
109118 desc : Release python client SDK package
110119 env :
111120 UV_PUBLISH_TOKEN : " {{ .UV_PUBLISH_TOKEN }}"
@@ -124,7 +133,7 @@ tasks:
124133 # Test environment (kind cluster + helm deploy of dir-server)
125134 # ---------------------------------------------------------------------------
126135
127- test-env:kubernetes: setup-cluster :
136+ test-env:setup-cluster :
128137 desc : Create a kind cluster and load Docker images
129138 deps :
130139 - deps:helm
@@ -162,11 +171,11 @@ tasks:
162171 {{ .KIND_BIN }} export kubeconfig --name {{ .KIND_CLUSTER_NAME }}
163172 {{ .KUBECTL_BIN }} cluster-info
164173
165- test-env:kubernetes:local :
174+ test-env:deploy :
166175 aliases : [deploy:local]
167176 desc : Deploy a local Directory server in Kubernetes
168177 deps :
169- - task : test-env:kubernetes: setup-cluster
178+ - task : test-env:setup-cluster
170179 vars :
171180 KIND_EXTRA_PORT_MAPPING : " {{.API_HOSTPORT}}:{{.API_NODEPORT}},{{.METRICS_HOSTPORT}}:{{.METRICS_NODEPORT}}"
172181 vars :
@@ -184,11 +193,11 @@ tasks:
184193 # TODO: make logic idempotent so that running functional tests does not change previous contexts
185194
186195 # Generate credentials and htpasswd file (using defaults)
187- - task : test-env:kubernetes:gen- htpasswd-creds
196+ - task : test-env:htpasswd-creds:gen
188197
189198 # Cleanup credentials on exit (using defaults)
190199 - defer :
191- task : test-env:kubernetes:cleanup- htpasswd-creds
200+ task : test-env:htpasswd-creds:cleanup
192201
193202 # Deploy chart
194203 - |
@@ -226,7 +235,7 @@ tasks:
226235 --wait-for-jobs \
227236 --timeout "15m"
228237
229- test-env:kubernetes:local :cleanup :
238+ test-env:deploy :cleanup :
230239 desc : Cleanup Kubernetes environment for local deployment
231240 deps :
232241 - deps:kind
@@ -235,7 +244,7 @@ tasks:
235244 cmds :
236245 - " {{ .KIND_BIN }} delete cluster --name {{ .KIND_CLUSTER_NAME }}"
237246
238- test-env:kubernetes:gen- htpasswd-creds :
247+ test-env:htpasswd-creds:gen :
239248 desc : Generate htpasswd credentials and files for DIR deployment
240249 vars :
241250 HTPASSWD_USERNAME : ' {{ .HTPASSWD_USERNAME | default "apiserver" }}'
@@ -268,7 +277,7 @@ tasks:
268277 {{ .HTPASSWD_SYNC_USERNAME }}:${HTPASSWD_SYNC}
269278 EOF
270279
271- test-env:kubernetes:cleanup- htpasswd-creds :
280+ test-env:htpasswd-creds:cleanup :
272281 desc : Cleanup htpasswd credentials and files
273282 vars :
274283 CREDS_FILE : ' {{ .CREDS_FILE | default "/tmp/dir-htpasswd-creds.env" }}'
@@ -389,9 +398,25 @@ tasks:
389398 RENOVATE_OPTS_DEFAULT : >-
390399 --persist-repo-data 'true'
391400 --allowed-post-upgrade-commands '[".*"]'
392- --post-upgrade-tasks '{"commands": ["task sdk :tidy"], "executionMode": "branch"}'
401+ --post-upgrade-tasks '{"commands": ["task deps :tidy"], "executionMode": "branch"}'
393402 RENOVATE_OPTS : " {{ .RENOVATE_OPTS | default .RENOVATE_OPTS_DEFAULT }}"
394403 RENOVATE_PLATFORM_EFFECTIVE :
395404 sh : printf '%s' "${RENOVATE_PLATFORM:-local}"
396405 cmds :
397406 - renovate {{ .RENOVATE_OPTS }} --platform "{{ .RENOVATE_PLATFORM_EFFECTIVE }}"
407+
408+ deps:cicd:iodc-token-generation :
409+ desc : Get Fulcio OIDC token for CICD
410+ requires :
411+ vars : [CLIENT_ID]
412+ cmds :
413+ - |
414+ OIDC_TOKEN=$(curl -s -H "Authorization: bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
415+ "$ACTIONS_ID_TOKEN_REQUEST_URL&audience=sigstore" | jq -r '.value')
416+
417+ CLIENT_ID="{{.CLIENT_ID}}"
418+ PROVIDER_URL="https://token.actions.githubusercontent.com"
419+
420+ echo "OIDC_PROVIDER_URL=${PROVIDER_URL}"
421+ echo "CLIENT_ID=${CLIENT_ID}"
422+ echo "OIDC_TOKEN=${OIDC_TOKEN}"
0 commit comments