@@ -128,10 +128,34 @@ jobs:
128128 outputs :
129129 matrix : ${{ steps.set-matrix.outputs.matrix }}
130130
131+ build-wheel :
132+ name : Build Wheel
133+ needs : [ license-and-lint, changes, plugin-doc-check ]
134+ if : |
135+ ( always() && ! cancelled() ) &&
136+ ((github.event_name == 'schedule' && github.repository == 'apache/skywalking-python') || needs.changes.outputs.agent == 'true')
137+ runs-on : ubuntu-latest
138+ steps :
139+ - name : Checkout source codes
140+ uses : actions/checkout@v4
141+ with :
142+ submodules : true
143+ persist-credentials : false
144+ - name : Build Wheel
145+ run : |
146+ make env
147+ make wheel
148+ - name : Upload Wheel
149+ uses : actions/upload-artifact@v4
150+ with :
151+ name : apache_skywalking.whl
152+ path : dist/apache_skywalking-$(poetry version | sed 's/apache-skywalking //g')-py3-none-any.whl
153+ retention-days : 1
154+
131155 docker-plugin :
132156 # build docker image for plugin tests, with matrix of Python versions
133157 name : Build Plugin Test Image
134- needs : [ license-and-lint, changes, plugin-doc-check, prep-plugin-and-unit-tests ]
158+ needs : [ license-and-lint, changes, plugin-doc-check, build-wheel, prep-plugin-and-unit-tests ]
135159 if : |
136160 ( always() && ! cancelled() ) &&
137161 ((github.event_name == 'schedule' && github.repository == 'apache/skywalking-python') || needs.changes.outputs.agent == 'true')
@@ -148,6 +172,11 @@ jobs:
148172 with :
149173 submodules : true
150174 persist-credentials : false
175+ - name : Download wheel
176+ uses : actions/download-artifact@v4
177+ with :
178+ name : apache_skywalking.whl
179+ path : apache_skywalking.whl
151180 - name : Build SkyWalking Python agent base plugin image
152181 run : |
153182 docker build --build-arg BASE_PYTHON_IMAGE -t apache/skywalking-python-agent:latest-plugin --no-cache . -f tests/plugin/Dockerfile.plugin
0 commit comments