@@ -148,7 +148,7 @@ jobs:
148148 env :
149149 # vars used by installbuilder
150150 INSTALLBUILDER_PATH : " /opt/installbuilder-20.9.0/bin/builder"
151- INSTALLER_VARS : " project.outputDirectory=$PWD project.version=${GITHUB_REF##*/} workspace=$PWD realname=Arduino_Create_Bridge"
151+ # INSTALLER_VARS: "project.outputDirectory=$PWD project.version=${GITHUB_REF##*/} workspace=$PWD realname=Arduino_Create_Bridge"
152152 # vars passed to installbuilder to install https certs automatically
153153 CERT_INSTALL : " ask_certificates_install=CI" # win(edge),mac(safari)
154154 NO_CERT_INSTALL : " ask_certificates_install=CS" # linux
@@ -186,6 +186,16 @@ jobs:
186186
187187 steps :
188188
189+ # workaround to strip bugfix number from semver (only to make 1.1 release) I will change this in the future
190+ - name : Set version env vars
191+ # VERSION will be available only in the next step
192+ run : |
193+ echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
194+
195+ - name : Set installer env vars
196+ run : |
197+ echo INSTALLER_VARS="project.outputDirectory=$PWD project.version=${VERSION%.*} workspace=$PWD realname=Arduino_Create_Bridge" >> $GITHUB_ENV
198+
189199 - name : Checkout
190200 uses : actions/checkout@v2
191201 with :
@@ -225,22 +235,22 @@ jobs:
225235 # installbuilder reads the env vars with certs paths and use it to sign the installer.
226236 - name : Launch Bitrock installbuilder-20 with CERT_INSTALL && CHOICE_CERT_INSTALL
227237 run : |
228- ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${{ env. INSTALLER_VARS } } ${{ env.CERT_INSTALL }}
229- mv -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CI${{matrix.installer-extension}} ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-${{matrix.browser}}${{matrix.installer-extension}}
230- ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${{ env. INSTALLER_VARS } } ${{ env.CHOICE_CERT_INSTALL }}
231- cp -vr ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CC${{matrix.installer-extension}} ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-chrome${{matrix.installer-extension}}
232- mv -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CC${{matrix.installer-extension}} ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-firefox${{matrix.installer-extension}}
233- rm -r ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-C*
238+ ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${INSTALLER_VARS} ${{ env.CERT_INSTALL }}
239+ mv -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CI${{matrix.installer-extension}} ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-${{matrix.browser}}${{matrix.installer-extension}}
240+ ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${INSTALLER_VARS} ${{ env.CHOICE_CERT_INSTALL }}
241+ cp -vr ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CC${{matrix.installer-extension}} ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-chrome${{matrix.installer-extension}}
242+ mv -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CC${{matrix.installer-extension}} ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-firefox${{matrix.installer-extension}}
243+ rm -r ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-C*
234244 if : matrix.operating-system == 'windows-latest' || matrix.operating-system == 'macos-latest'
235245
236246 # linux
237247 - name : Launch Bitrock installbuilder-20 with NO_CERT_INSTALL
238248 run : |
239- ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${{ env. INSTALLER_VARS } } ${{ env.NO_CERT_INSTALL }}
240- cp -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CS.run ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-chrome.run
241- mv -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CS.run ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-firefox.run
242- cp -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CS.tar.gz ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-chrome.tar.gz
243- mv -v ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-CS.tar.gz ArduinoCreateAgent-${GITHUB_REF##*/ }-${{ matrix.install-builder-name }}-installer-firefox.tar.gz
249+ ${{ env.INSTALLBUILDER_PATH }} build installer.xml ${{ matrix.install-builder-name }} --verbose --license /tmp/license.xml --setvars ${INSTALLER_VARS} ${{ env.NO_CERT_INSTALL }}
250+ cp -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CS.run ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-chrome.run
251+ mv -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CS.run ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-firefox.run
252+ cp -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CS.tar.gz ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-chrome.tar.gz
253+ mv -v ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-CS.tar.gz ArduinoCreateAgent-${VERSION%.* }-${{ matrix.install-builder-name }}-installer-firefox.tar.gz
244254 if : matrix.operating-system == 'ubuntu-latest'
245255
246256 - name : Upload artifacts
@@ -267,9 +277,15 @@ jobs:
267277 name : ArduinoCreateAgent-osx
268278 path : ArduinoCreateAgent-osx
269279
280+ # workaround to strip bugfix number from semver (only to make 1.1 release) I will change this in the future
281+ - name : Set version env vars
282+ # VERSION will be available only in the next step
283+ run : |
284+ echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
285+
270286 # zip artifacts do not mantain executable permission
271287 - name : Make executable
272- run : chmod -v +x ArduinoCreateAgent-osx/ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.app/Contents/MacOS/*
288+ run : chmod -v +x ArduinoCreateAgent-osx/ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.app/Contents/MacOS/*
273289
274290 - name : Import Code-Signing Certificates
275291 env :
@@ -292,15 +308,15 @@ jobs:
292308 # gon does not allow env variables in config file (https://github.com/mitchellh/gon/issues/20)
293309 run : |
294310 cat > gon.config_installer.hcl <<EOF
295- source = ["ArduinoCreateAgent-osx/ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.app"]
311+ source = ["ArduinoCreateAgent-osx/ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.app"]
296312 bundle_id = "cc.arduino.arduino-agent-installer"
297313
298314 sign {
299315 application_identity = "Developer ID Application: ARDUINO SA (7KT7ZWMCJT)"
300316 }
301317
302318 dmg {
303- output_path = "ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.dmg"
319+ output_path = "ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.dmg"
304320 volume_name = "ArduinoCreateAgent"
305321 }
306322 EOF
@@ -310,13 +326,13 @@ jobs:
310326 AC_USERNAME : ${{ secrets.AC_USERNAME }}
311327 AC_PASSWORD : ${{ secrets.AC_PASSWORD }}
312328 run : |
313- echo "gon will notarize executable in ArduinoCreateAgent-osx/ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.app"
329+ echo "gon will notarize executable in ArduinoCreateAgent-osx/ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.app"
314330 gon -log-level=debug -log-json gon.config_installer.hcl
315331 timeout-minutes : 30
316332
317333 # tar dmg file to keep executable permission
318334 - name : Tar files to keep permissions
319- run : tar -cvf ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.tar ArduinoCreateAgent-${GITHUB_REF##*/ }-osx-installer-${{ matrix.browser }}.dmg
335+ run : tar -cvf ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.tar ArduinoCreateAgent-${VERSION%.* }-osx-installer-${{ matrix.browser }}.dmg
320336
321337 - name : Upload artifacts
322338 uses : actions/upload-artifact@v2
@@ -328,19 +344,32 @@ jobs:
328344 create-release :
329345 runs-on : ubuntu-latest
330346 needs : code-sign-mac-installers
347+ env :
348+ PLUGIN_TARGET : " /CreateBridgeStable/"
349+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
350+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
331351
332352 steps :
333353
334354 - name : Download artifact
335355 uses : actions/download-artifact@v2 # download all the artifacts
336356
357+ - name : Identify Prerelease
358+ # This is a workaround while waiting for create-release action to implement auto pre-release based on tag
359+ id : prerelease
360+ run : |
361+ wget -q -P /tmp https://github.com/fsaintjacques/semver-tool/archive/3.1.0.zip
362+ unzip -p /tmp/3.1.0.zip semver-tool-3.1.0/src/semver >/tmp/semver && chmod +x /tmp/semver
363+ if [[ $(/tmp/semver get prerel ${GITHUB_REF/refs\/tags\//}) ]]; then echo "::set-output name=IS_PRE::true"; fi
364+
337365 # mandatory step because upload-release-action does not support multiple folders
338366 - name : prepare artifacts for the release
339367 run : |
340368 mkdir release
341369 chmod -v +x ArduinoCreateAgent-linux-x64/*.run
342370 mv -v ArduinoCreateAgent-linux-x64/* release/
343371 cat ArduinoCreateAgent-osx/*.tar | tar -xvf - -i -C release/
372+ rm -v release/._ArduinoCreateAgent*.dmg
344373 mv -v ArduinoCreateAgent-windows/* release/
345374
346375 - name : Create Github Release
@@ -350,9 +379,9 @@ jobs:
350379 with :
351380 tag_name : ${{ github.ref }}
352381 release_name : ${{ github.ref }}
353- body : " THIS IS A TEST RELEASE "
382+ body : " "
354383 draft : false
355- prerelease : true # see later how to handle this (maybe just a check on "-dev" will be sufficient)
384+ prerelease : ${{ steps.prerelease.outputs.IS_PRE }}
356385
357386 - name : Upload release files on Github
358387 uses : svenstaro/upload-release-action@v2
@@ -361,3 +390,7 @@ jobs:
361390 tag : ${{ github.ref }}
362391 file_glob : true # If set to true, the file argument can be a glob pattern
363392 file : release/*
393+
394+ - name : Upload release files on Arduino downloads servers
395+ run : aws s3 sync release/ s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.PLUGIN_TARGET }} --include "*"
396+ if : steps.prerelease.outputs.IS_PRE != 'true'
0 commit comments