@@ -2,7 +2,7 @@ name: CI Cortex Release
22
33on :
44 push :
5- tags : ["v[0-9]+.[0-9]+.[0-9]+"]
5+ tags : ["v[0-9]+.[0-9]+.[0-9]+", "v[0-9]+.[0-9]+.[0-9]+-*" ]
66 paths : ["cortex-cpp/**", "cortex-js/**"]
77 workflow_dispatch :
88
@@ -416,6 +416,14 @@ jobs:
416416 asset_path : ./cortex-js/cortexso.deb
417417 asset_name : cortex-installer-${{ needs.create-draft-release.outputs.version }}-${{ matrix.name }}-${{ matrix.os }}.deb
418418 asset_content_type : application/gzip
419+
420+ # Upload artifact for package manager
421+ - name : Upload Artifact
422+ if : runner.os == 'Linux'
423+ uses : actions/upload-artifact@v2
424+ with :
425+ name : cortex-linux
426+ path : ./cortex
419427
420428 update_release_draft :
421429 needs : [build-and-test, build-cortex-single-binary]
@@ -440,3 +448,53 @@ jobs:
440448 # disable-autolabeler: true
441449 env :
442450 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
451+
452+
453+ # Add jobs with approval
454+ public_package_manager :
455+ needs : [create-draft-release, update_release_draft]
456+ runs-on : ubuntu-latest
457+ environment : package-manager
458+ permissions :
459+ contents : read
460+ steps :
461+ - name : Download artifact
462+ uses : actions/download-artifact@v2
463+ with :
464+ name : cortex-linux
465+ path : ./cortex
466+
467+ - name : install dependencies
468+ run : |
469+ sudo apt-get install dput devscripts build-essential debhelper-compat pbuilder debootstrap devscripts -y
470+
471+ - name : import gpg key with subkey
472+ uses : crazy-max/ghaction-import-gpg@v4
473+ with :
474+ gpg_private_key : ${{ secrets.HOMEBREW_GPG_PRIVATE_KEY }}
475+ passphrase : ${{ secrets.HOMEBREW_GPG_PASSPHRASE }}
476+ fingerprint : ${{ secrets.HOMEBREW_GPG_FINGERPRINT }}
477+
478+ - run : |
479+ cp ./cortex/cortex package-managers-template/launchpad/cortexso/
480+ mv package-managers-template/launchpad/cortexso package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}
481+
482+ - name : Get release notes
483+ id : release_notes
484+ run : |
485+ RELEASE_NOTES=$(curl -s -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/${{ github.repository }}/releases/tags/${VERSION} | jq -r '.body')
486+ echo "RELEASE_NOTES=${RELEASE_NOTES}" >> $GITHUB_ENV
487+ - name : Update change log
488+ run : |
489+ sed -i "s/VERSION/${{ needs.create-draft-release.outputs.version }}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
490+ sed -i "s/CHANGELOG_HERE/${{ env.RELEASE_NOTES }}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
491+ timestamp=$(date -u +"%a, %d %b %Y %H:%M:%S +0000")
492+ sed -i "s/TIME_HERE/${timestamp}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
493+
494+ - name : Build package
495+ run : |
496+ cd package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}
497+ echo "y" | debuild -S -sa -k ${{ secrets.HOMEBREW_GPG_FINGERPRINT }}
498+ sudo sudo pbuilder build ../cortexso_${{ needs.create-draft-release.outputs.version }}.dsc
499+ dput ppa:cortexlabs/cortex cortexso_${{ needs.create-draft-release.outputs.version }}_source.changes
500+
0 commit comments