Skip to content

Commit faf05fe

Browse files
authored
fix prebuild uploading (#2112)
* fix * change to test mode * remove * fix * fix * fix * test pypi * test * add publish * test * revert to prod * update
1 parent bd7117c commit faf05fe

File tree

5 files changed

+110
-100
lines changed

5 files changed

+110
-100
lines changed

.github/workflows/prebuild.yml

Lines changed: 50 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
export MMDEPLOY_VERSION=$(python3 -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
3737
echo $MMDEPLOY_VERSION
3838
echo "MMDEPLOY_VERSION=$MMDEPLOY_VERSION" >> $GITHUB_ENV
39-
echo "OUTPUT_DIR=$MMDEPLOY_VERSION-$GITHUB_RUN_ID" >> $GITHUB_ENV
39+
echo "OUTPUT_DIR=/__w/mmdeploy/prebuild/$MMDEPLOY_VERSION" >> $GITHUB_ENV
4040
- name: Build MMDeploy
4141
run: |
4242
source activate mmdeploy-3.6
@@ -61,10 +61,20 @@ jobs:
6161
--system linux --output config.yml --device cuda --build-sdk --build-sdk-monolithic \
6262
--build-sdk-python --sdk-dynamic-net --onnxruntime-dir=$ONNXRUNTIME_GPU_DIR
6363
python ../tools/package_tools/mmdeploy_builder.py --config config.yml
64+
- name: Zip mmdeploy sdk
65+
run: |
66+
cd pack/sdk
67+
for folder in *
68+
do
69+
tar czf $folder.tar.gz $folder
70+
done
6471
- name: Move artifact
6572
run: |
66-
mkdir -p /__w/mmdeploy/prebuild/$OUTPUT_DIR
67-
cp -r pack/* /__w/mmdeploy/prebuild/$OUTPUT_DIR
73+
mkdir -p $OUTPUT_DIR/mmdeploy $OUTPUT_DIR/mmdeploy_runtime $OUTPUT_DIR/sdk
74+
chmod -R 777 $OUTPUT_DIR
75+
mv -vf pack/mmdeploy/* $OUTPUT_DIR/mmdeploy/
76+
mv -vf pack/mmdeploy_runtime/* $OUTPUT_DIR/mmdeploy_runtime/
77+
mv -vf pack/sdk/* $OUTPUT_DIR/sdk/
6878
6979
linux_build_cxx11abi:
7080
if: inputs.run == true || ${{ github.event_name == 'push' }}
@@ -84,7 +94,7 @@ jobs:
8494
export MMDEPLOY_VERSION=$(python3 -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
8595
echo $MMDEPLOY_VERSION
8696
echo "MMDEPLOY_VERSION=$MMDEPLOY_VERSION" >> $GITHUB_ENV
87-
echo "OUTPUT_DIR=$MMDEPLOY_VERSION-$GITHUB_RUN_ID" >> $GITHUB_ENV
97+
echo "OUTPUT_DIR=/__w/mmdeploy/prebuild/$MMDEPLOY_VERSION" >> $GITHUB_ENV
8898
- name: Build sdk cpu backend
8999
run: |
90100
mkdir pack; cd pack
@@ -99,10 +109,18 @@ jobs:
99109
--system linux --output config.yml --device cuda --build-sdk --build-sdk-monolithic \
100110
--sdk-dynamic-net --cxx11abi --onnxruntime-dir=$ONNXRUNTIME_GPU_DIR --cudnn-dir /usr
101111
python ../tools/package_tools/mmdeploy_builder.py --config config.yml
112+
- name: Zip mmdeploy sdk
113+
run: |
114+
cd pack/sdk
115+
for folder in *
116+
do
117+
tar czf $folder.tar.gz $folder
118+
done
102119
- name: Move artifact
103120
run: |
104-
mkdir -p /__w/mmdeploy/prebuild/$OUTPUT_DIR
105-
cp -r pack/* /__w/mmdeploy/prebuild/$OUTPUT_DIR
121+
mkdir -p $OUTPUT_DIR/sdk
122+
chmod -R 777 $OUTPUT_DIR
123+
mv -vf pack/sdk/* $OUTPUT_DIR/sdk/
106124
107125
linux_test:
108126
if: inputs.run == true || ${{ github.event_name == 'push' }}
@@ -124,60 +142,21 @@ jobs:
124142
export MMDEPLOY_VERSION=$(python3 -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
125143
echo $MMDEPLOY_VERSION
126144
echo "MMDEPLOY_VERSION=$MMDEPLOY_VERSION" >> $GITHUB_ENV
127-
echo "OUTPUT_DIR=$MMDEPLOY_VERSION-$GITHUB_RUN_ID" >> $GITHUB_ENV
145+
echo "OUTPUT_DIR=/__w/mmdeploy/prebuild/$MMDEPLOY_VERSION" >> $GITHUB_ENV
128146
- name: Test python
129147
run: |
130-
cd /__w/mmdeploy/prebuild/$OUTPUT_DIR
148+
cd $OUTPUT_DIR
131149
bash $GITHUB_WORKSPACE/tools/package_tools/test/test_sdk_python.sh
132150
- name: Test c/cpp
133151
run: |
134-
cd /__w/mmdeploy/prebuild/$OUTPUT_DIR
152+
cd $OUTPUT_DIR
135153
bash $GITHUB_WORKSPACE/tools/package_tools/test/test_sdk.sh
136154
137-
linux_upload:
138-
if: inputs.run == true || ${{ github.event_name == 'push' }}
139-
runs-on: [self-hosted, linux-3090]
140-
environment: 'prod'
141-
needs: linux_test
142-
env:
143-
PREBUILD_DIR: /data2/actions-runner/prebuild
144-
steps:
145-
- name: Checkout repository
146-
uses: actions/checkout@v3
147-
- name: Get mmdeploy version
148-
run: |
149-
export MMDEPLOY_VERSION=$(python3 -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
150-
echo $MMDEPLOY_VERSION
151-
echo "MMDEPLOY_VERSION=$MMDEPLOY_VERSION" >> $GITHUB_ENV
152-
echo "OUTPUT_DIR=$MMDEPLOY_VERSION-$GITHUB_RUN_ID" >> $GITHUB_ENV
153-
- name: Upload mmdeploy
154-
run: |
155-
cd $PREBUILD_DIR/$OUTPUT_DIR/mmdeploy
156-
pip install twine
157-
# twine upload * --repository testpypi -u __token__ -p ${{ secrets.test_pypi_password }}
158-
twine upload * -u __token__ -p ${{ secrets.pypi_password }}
159-
- name: Upload mmdeploy_runtime
160-
run: |
161-
cd $PREBUILD_DIR/$OUTPUT_DIR/mmdeploy_runtime
162-
# twine upload * --repository testpypi -u __token__ -p ${{ secrets.test_pypi_password }}
163-
twine upload * -u __token__ -p ${{ secrets.pypi_password }}
164-
- name: Zip mmdeploy sdk
165-
run: |
166-
cd $PREBUILD_DIR/$OUTPUT_DIR/sdk
167-
for folder in *
168-
do
169-
tar czf $folder.tar.gz $folder
170-
done
171-
- name: Upload mmdeploy sdk
172-
uses: softprops/action-gh-release@v1
173-
with:
174-
files: |
175-
$PREBUILD_DIR/$OUTPUT_DIR/sdk/*.tar.gz
176-
177-
178155
windows_build:
179156
if: inputs.run == true || ${{ github.event_name == 'push' }}
180157
runs-on: [self-hosted, win10-3080]
158+
env:
159+
PREBUILD_DIR: D:\Runners\prebuild
181160
steps:
182161
- name: Checkout repository
183162
uses: actions/checkout@v3
@@ -189,12 +168,13 @@ jobs:
189168
$env:MMDEPLOY_VERSION=(python -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
190169
echo $env:MMDEPLOY_VERSION
191170
echo "MMDEPLOY_VERSION=$env:MMDEPLOY_VERSION" >> $env:GITHUB_ENV
192-
echo "OUTPUT_DIR=$env:MMDEPLOY_VERSION-$env:GITHUB_RUN_ID" >> $env:GITHUB_ENV
171+
echo "OUTPUT_DIR=$env:PREBUILD_DIR\$env:MMDEPLOY_VERSION" >> $env:GITHUB_ENV
193172
- name: Build MMDeploy
194173
run: |
195174
. D:\DEPS\cienv\prebuild_gpu_env.ps1
196175
conda activate mmdeploy-3.6
197-
mkdir pack; cd pack
176+
New-Item -Path pack -ItemType Directory -Force
177+
cd pack
198178
python ../tools/package_tools/generate_build_config.py --backend 'trt;ort' `
199179
--system windows --output config.yml --build-mmdeploy
200180
python ../tools/package_tools/mmdeploy_builder.py --config config.yml
@@ -216,15 +196,28 @@ jobs:
216196
--system windows --output config.yml --device cuda --build-sdk --build-sdk-monolithic `
217197
--build-sdk-python --sdk-dynamic-net
218198
python ../tools/package_tools/mmdeploy_builder.py --config config.yml
199+
- name: Zip mmdeploy sdk
200+
run: |
201+
cd pack/sdk
202+
$folders = $(ls).Name
203+
foreach ($folder in $folders) {
204+
Compress-Archive -Path $folder -DestinationPath "$folder.zip"
205+
}
219206
- name: Move artifact
220207
run: |
221-
New-Item "D:/DEPS/ciartifact/$env:OUTPUT_DIR" -ItemType Directory -Force
222-
Move-Item pack/* "D:/DEPS/ciartifact/$env:OUTPUT_DIR"
208+
New-Item "$env:OUTPUT_DIR\mmdeploy" -ItemType Directory -Force
209+
New-Item "$env:OUTPUT_DIR\mmdeploy_runtime" -ItemType Directory -Force
210+
New-Item "$env:OUTPUT_DIR\sdk" -ItemType Directory -Force
211+
Move-Item pack/mmdeploy/* -Force "$env:OUTPUT_DIR\mmdeploy\"
212+
Move-Item pack/mmdeploy_runtime/* -Force "$env:OUTPUT_DIR\mmdeploy_runtime\"
213+
Move-Item pack/sdk/* -Force "$env:OUTPUT_DIR\sdk\"
223214
224215
windows_test:
225216
if: inputs.run == true || ${{ github.event_name == 'push' }}
226217
runs-on: [self-hosted, win10-3080]
227218
needs: windows_build
219+
env:
220+
PREBUILD_DIR: D:\Runners\prebuild
228221
steps:
229222
- name: Checkout repository
230223
uses: actions/checkout@v3
@@ -234,55 +227,15 @@ jobs:
234227
$env:MMDEPLOY_VERSION=(python -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
235228
echo $env:MMDEPLOY_VERSION
236229
echo "MMDEPLOY_VERSION=$env:MMDEPLOY_VERSION" >> $env:GITHUB_ENV
237-
echo "OUTPUT_DIR=$env:MMDEPLOY_VERSION-$env:GITHUB_RUN_ID" >> $env:GITHUB_ENV
230+
echo "OUTPUT_DIR=$env:PREBUILD_DIR\$env:MMDEPLOY_VERSION" >> $env:GITHUB_ENV
238231
- name: Test python
239232
run: |
240-
cd "D:/DEPS/ciartifact/$env:OUTPUT_DIR"
233+
cd "$env:OUTPUT_DIR"
241234
. D:\DEPS\cienv\prebuild_cpu_env.ps1
242235
conda activate ci-test
243236
& "$env:GITHUB_WORKSPACE/tools/package_tools/test/test_sdk_python.ps1"
244237
- name: Test c/cpp
245238
run: |
246-
cd "D:/DEPS/ciartifact/$env:OUTPUT_DIR"
239+
cd "$env:OUTPUT_DIR"
247240
. D:\DEPS\cienv\prebuild_cpu_env.ps1
248241
& "$env:GITHUB_WORKSPACE/tools/package_tools/test/test_sdk.ps1"
249-
250-
windows_upload:
251-
if: inputs.run == true || ${{ github.event_name == 'push' }}
252-
runs-on: [self-hosted, win10-3080]
253-
environment: 'prod'
254-
needs: windows_test
255-
steps:
256-
- name: Checkout repository
257-
uses: actions/checkout@v3
258-
- name: Get mmdeploy version
259-
run: |
260-
conda activate mmdeploy-3.8
261-
$env:MMDEPLOY_VERSION=(python -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
262-
echo $env:MMDEPLOY_VERSION
263-
echo "MMDEPLOY_VERSION=$env:MMDEPLOY_VERSION" >> $env:GITHUB_ENV
264-
echo "OUTPUT_DIR=$env:MMDEPLOY_VERSION-$env:GITHUB_RUN_ID" >> $env:GITHUB_ENV
265-
- name: Upload mmdeploy
266-
run: |
267-
cd "D:/DEPS/ciartifact/$env:OUTPUT_DIR/mmdeploy"
268-
conda activate mmdeploy-3.8
269-
# twine upload * --repository testpypi -u __token__ -p ${{ secrets.test_pypi_password }}
270-
twine upload * -u __token__ -p ${{ secrets.pypi_password }}
271-
- name: Upload mmdeploy_runtime
272-
run: |
273-
cd "D:/DEPS/ciartifact/$env:OUTPUT_DIR/mmdeploy_runtime"
274-
conda activate mmdeploy-3.8
275-
# twine upload * --repository testpypi -u __token__ -p ${{ secrets.test_pypi_password }}
276-
twine upload * -u __token__ -p ${{ secrets.pypi_password }}
277-
- name: Zip mmdeploy sdk
278-
run: |
279-
cd "D:/DEPS/ciartifact/$env:OUTPUT_DIR/sdk"
280-
$folders = $(ls).Name
281-
foreach ($folder in $folders) {
282-
Compress-Archive -Path $folder -DestinationPath "$folder.zip"
283-
}
284-
- name: Upload mmdeploy sdk
285-
uses: softprops/action-gh-release@v1
286-
with:
287-
files: |
288-
D:/DEPS/ciartifact/$env:OUTPUT_DIR/sdk/*.zip

.github/workflows/publish.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: publish
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*.*.*"
7+
8+
workflow_dispatch:
9+
inputs:
10+
publish:
11+
description: 'Manually publish'
12+
required: false
13+
type: boolean
14+
default: false
15+
16+
jobs:
17+
publish:
18+
if: inputs.publish == true || ${{ github.event_name == 'push' }}
19+
runs-on: [self-hosted, linux-3090]
20+
environment: 'prod'
21+
env:
22+
PREBUILD_DIR: /data2/actions-runner/prebuild
23+
steps:
24+
- name: Checkout repository
25+
uses: actions/checkout@v3
26+
- name: Get mmdeploy version
27+
run: |
28+
export MMDEPLOY_VERSION=$(python3 -c "import sys; sys.path.append('mmdeploy');from version import __version__;print(__version__)")
29+
echo $MMDEPLOY_VERSION
30+
echo "MMDEPLOY_VERSION=$MMDEPLOY_VERSION" >> $GITHUB_ENV
31+
echo "OUTPUT_DIR=$PREBUILD_DIR/$MMDEPLOY_VERSION" >> $GITHUB_ENV
32+
pip install twine
33+
- name: Upload mmdeploy
34+
continue-on-error: true
35+
run: |
36+
cd $OUTPUT_DIR/mmdeploy
37+
ls -sha *.whl
38+
# twine upload mmdeploy-${MMDEPLOY_VERSION}-py3-none-manylinux2014_x86_64.whl --repository testpypi -u testmmdeploy -p ${{ secrets.test_pypi_password }}
39+
twine upload *.whl -u __token__ -p ${{ secrets.pypi_password }}
40+
- name: Upload mmdeploy_runtime
41+
continue-on-error: true
42+
run: |
43+
cd $OUTPUT_DIR/mmdeploy_runtime
44+
ls -sha *.whl
45+
# twine upload mmdeploy_runtime-${MMDEPLOY_VERSION}-cp38-none-manylinux2014_x86_64.whl --repository testpypi -u testmmdeploy -p ${{ secrets.test_pypi_password }}
46+
twine upload *.whl -u __token__ -p ${{ secrets.pypi_password }}
47+
- name: Create dummy softlinks to assets
48+
run: |
49+
ln -sf $OUTPUT_DIR/sdk ./prebuild
50+
ls -sha ./prebuild
51+
- name: Upload mmdeploy sdk
52+
uses: softprops/action-gh-release@v1
53+
with:
54+
tag_name: v${MMDEPLOY_VERSION}
55+
files: |
56+
./prebuild/*.zip
57+
./prebuild/*.tar.gz

tools/package_tools/test/test_sdk.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $pkgs = $(ls).Name
1515
$test_pkg = $pkgs[0]
1616
if ($pkgs.Count -gt 1) {
1717
foreach ($pkg in $pkgs) {
18-
if ($pkg -like '*cpu*') {
18+
if ($pkg -like '*-windows-amd64') {
1919
$test_pkg = $pkg
2020
break
2121
}

tools/package_tools/test/test_sdk_python.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $pkgs = $(ls).Name
1515
$test_pkg = ""
1616
if ($pkgs.Count -gt 1) {
1717
foreach ($pkg in $pkgs) {
18-
if ($pkg -like 'mmdeploy_runtime-*cp38*') {
18+
if ($pkg -like 'mmdeploy_runtime-*cp38*-win_amd64.whl') {
1919
$test_pkg = $pkg
2020
break
2121
}

tools/package_tools/test/test_sdk_python.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ cd $WORKSPACE
1212
cd $SDK_PYTHON_DIR
1313

1414
PY_VERSION=$(python3 -V | awk '{print $2}' | awk '{split($0, a, "."); print a[1]a[2]}')
15-
test_pkg=$(ls | grep mmdeploy_runtime-*cp${PY_VERSION}*)
15+
test_pkg=$(ls | grep mmdeploy_runtime-*cp${PY_VERSION}*x86_64.whl)
1616

1717
python3 -m pip install $test_pkg --force-reinstall
1818
python3 -m pip install opencv-python

0 commit comments

Comments
 (0)