@@ -11,63 +11,31 @@ permissions:
1111 packages : write
1212
1313jobs :
14- experiment-tools :
15- name : Test experiment tools
16- runs-on : ubuntu-latest
17- steps :
18- - uses : actions/checkout@v4
19- - uses : actions/setup-python@v5
20- with :
21- python-version : " 3.12"
22- - name : Run Python tests
23- run : python -m unittest discover -s experiments -p 'test_*.py'
14+ checks :
15+ name : Central AkôFlow example CI
16+ uses : UFFeScience/akoflow/.github/workflows/examples-ci.yml@main
17+ with :
18+ examples_ref : ${{ github.event.pull_request.head.sha || github.sha }}
19+ publish : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
20+ permissions :
21+ contents : read
22+ packages : write
2423
25- showcase :
26- name : Validate ${{ matrix.showcase }}
24+ notify-documentation :
25+ name : Notify AkôFlow documentation
26+ if : github.event_name == 'push' && github.ref == 'refs/heads/main'
2727 runs-on : ubuntu-latest
28- strategy :
29- fail-fast : false
30- matrix :
31- include :
32- - {category: machine-learning, showcase: training-with-mlflow}
33- - {category: machine-learning, showcase: hyperparameter-search}
34- - {category: machine-learning, showcase: batch-inference}
35- - {category: machine-learning, showcase: model-comparison}
36- - {category: machine-learning, showcase: anomaly-detection}
37- - {category: machine-learning, showcase: computer-vision}
38- - {category: machine-learning, showcase: model-ensemble}
39- - {category: machine-learning, showcase: model-distillation}
40- - {category: machine-learning, showcase: inference-benchmark}
41- - {category: machine-learning, showcase: lora-fine-tuning}
42- - {category: machine-learning, showcase: model-conversion}
43- - {category: machine-learning, showcase: infrastructure-selection}
44- - {category: generative-ai, showcase: rag-indexing}
45- - {category: generative-ai, showcase: synthetic-dataset}
46- - {category: generative-ai, showcase: audio-transcription}
47- - {category: generative-ai, showcase: document-extraction}
48- - {category: agentic-workflows, showcase: bounded-agent}
49- - {category: agentic-workflows, showcase: supervised-tool-loop}
50- - {category: agentic-workflows, showcase: multi-agent-review}
51- - {category: scientific-ai, showcase: ai-assisted-analysis}
52- - {category: scientific-ai, showcase: surrogate-model}
53- - {category: scientific-ai, showcase: experiment-feedback-loop}
5428 steps :
55- - uses : actions/checkout@v4
56- - name : Execute regression fixture
57- working-directory : ${{ matrix.category }}/${{ matrix.showcase }}
58- run : ./run.sh
59- - uses : docker/login-action@v3
60- if : github.event_name == 'push'
61- with :
62- registry : ghcr.io
63- username : ${{ github.actor }}
64- password : ${{ secrets.GITHUB_TOKEN }}
65- - uses : docker/build-push-action@v6
66- with :
67- context : ${{ matrix.category }}/${{ matrix.showcase }}
68- file : ${{ matrix.category }}/${{ matrix.showcase }}/docker/Dockerfile
69- push : ${{ github.event_name == 'push' }}
70- tags : |
71- ghcr.io/uffescience/akoflow-showcase-${{ matrix.showcase }}:latest
72- ghcr.io/uffescience/akoflow-showcase-${{ matrix.showcase }}:v1
73- ghcr.io/uffescience/akoflow-showcase-${{ matrix.showcase }}:v1.0.0
29+ - name : Dispatch documentation rebuild
30+ env :
31+ GH_TOKEN : ${{ secrets.AKOFLOW_DOCS_DISPATCH_TOKEN }}
32+ SOURCE_SHA : ${{ github.sha }}
33+ run : |
34+ if [ -z "$GH_TOKEN" ]; then
35+ echo "AKOFLOW_DOCS_DISPATCH_TOKEN is not configured; the daily reconciliation will pick up this change."
36+ exit 0
37+ fi
38+ gh api repos/UFFeScience/akoflow/dispatches \
39+ --method POST \
40+ --field event_type=examples-updated \
41+ --field "client_payload[source_sha]=$SOURCE_SHA"
0 commit comments