1212 type : boolean
1313 default : false
1414 description : If true, publish slow-building deps as well
15- lockfile_sdk_update :
15+ lockfile_release_update :
1616 required : true
1717 type : boolean
18- default : true
19- description : If true, update the SDK version in the lockfile
18+ default : false
19+ description : If true, add a conan.lock artifact to the draft release
2020
2121
2222jobs :
5050 conan remote auth --force -cc core:non_interactive=True viamconan
5151
5252 - name : Set lockfile update arguments
53- if : inputs.lockfile_sdk_update
53+ if : inputs.lockfile_release_update
5454 run : echo "LOCKFILE_UPDATE_ARGS=--lockfile-out conan.lock --lockfile-clean" >> $GITHUB_ENV
5555
5656 - name : Create and upload package
@@ -62,13 +62,15 @@ jobs:
6262 # more details.
6363 export BUF_CONFIG_DIR=$(mktemp -d)
6464
65+ conan lock add --requires=viam-cpp-sdk/${{ inputs.ref }}
66+
6567 conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False" \
6668 --lockfile etc/conan/conan.lock $LOCKFILE_UPDATE_ARGS
6769
6870 conan upload "viam-cpp-sdk/*" -r viamconan -c
6971
7072 - name : Upload lockfile artifact
71- if : inputs.lockfile_sdk_update
73+ if : inputs.lockfile_release_update
7274 uses : actions/upload-artifact@v4
7375 with :
7476 name : conan-lockfile-macos-latest
@@ -156,20 +158,22 @@ jobs:
156158 conan remote auth --force -cc core:non_interactive=True viamconan
157159
158160 - name : Set lockfile update arguments
159- if : inputs.lockfile_sdk_update
161+ if : inputs.lockfile_release_update
160162 run : echo "LOCKFILE_UPDATE_ARGS=--lockfile-out conan.lock --lockfile-clean" >> $GITHUB_ENV
161163
162164 - name : Create and upload package
163165 run : |
164166 . ./conan_venv/bin/activate
165167
168+ conan lock add --requires=viam-cpp-sdk/${{ inputs.ref }}
169+
166170 conan create . --build=missing -s:a compiler.cppstd=17 -o:a "&:shared=False" \
167171 --lockfile etc/conan/conan.lock $LOCKFILE_UPDATE_ARGS
168172
169173 conan upload "viam-cpp-sdk/*" -r viamconan -c
170174
171175 - name : Sanitize image name for artifact
172- if : inputs.lockfile_sdk_update
176+ if : inputs.lockfile_release_update
173177 shell : bash
174178 env :
175179 IMAGE_NAME : " ${{ matrix.image }}"
@@ -179,14 +183,13 @@ jobs:
179183 echo IMAGE_NAME=${IMAGE_NAME} >> $GITHUB_ENV
180184
181185 - name : Upload lockfile artifact
182- if : inputs.lockfile_sdk_update
186+ if : inputs.lockfile_release_update
183187 uses : actions/upload-artifact@v4
184188 with :
185189 name : conan-lockfile-${{ matrix.runner }}-${{ env.IMAGE_NAME }}
186190 path : conan.lock
187191
188192 - name : Upload additional deps
189- if : inputs.upload_deps && !(matrix.runner == 'ubuntu-large' && matrix.image == 'ubuntu:22.04')
190193 run : |
191194 . ./conan_venv/bin/activate
192195
@@ -258,7 +261,7 @@ jobs:
258261
259262 merge_lockfiles :
260263 needs : [build_macos, build_linux]
261- if : inputs.lockfile_sdk_update
264+ if : inputs.lockfile_release_update
262265 runs-on : ubuntu-latest
263266
264267 steps :
@@ -289,19 +292,10 @@ jobs:
289292 conan lock merge $LOCKFILE_ARGS
290293 cat conan.lock
291294
292- # Move merged lockfile to repository
293- mv conan.lock ../etc/conan/conan.lock
294-
295- - name : Create Pull Request
296- uses : peter-evans/create-pull-request@v3
295+ - name : Upload merged lockfile to release
296+ uses : softprops/action-gh-release@v1
297297 with :
298- commit-message : ' [WORKFLOW] Update conan lockfile for SDK version ${{ inputs.ref }}'
299- branch : ' workflow/update-lockfile'
300- base : main
301- add-paths : etc/conan/conan.lock
302- delete-branch : true
303- title : Automated Lockfile Update for v${{ inputs.ref }}
304- body : This is an auto-generated PR to update the conan lockfile after publishing SDK version ${{ inputs.ref }}
305- token : ${{ secrets.GIT_ACCESS_TOKEN }}
306-
307-
298+ tag_name : releases/v${{ inputs.ref }}
299+ files : lockfiles/conan.lock
300+ env :
301+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments