@@ -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-js/cortex
419427
420428 update_release_draft :
421429 needs : [build-and-test, build-cortex-single-binary]
@@ -440,3 +448,59 @@ 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 : checkout
462+ uses : actions/checkout@v4
463+
464+ - name : Download artifact
465+ uses : actions/download-artifact@v2
466+ with :
467+ name : cortex-linux
468+ path : ./cortex-linux
469+
470+ - name : install dependencies
471+ run : |
472+ ls -al ./cortex-linux
473+ sudo apt-get install dput devscripts build-essential debhelper-compat pbuilder debootstrap devscripts -y
474+
475+ - name : import gpg key with subkey
476+ uses : crazy-max/ghaction-import-gpg@v4
477+ with :
478+ gpg_private_key : ${{ secrets.HOMEBREW_GPG_PRIVATE_KEY }}
479+ passphrase : ${{ secrets.HOMEBREW_GPG_PASSPHRASE }}
480+ fingerprint : ${{ secrets.HOMEBREW_GPG_FINGERPRINT }}
481+
482+ - run : |
483+ mkdir -p package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian
484+ cp package-managers-template/launchpad/cortexso/debian/* package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/
485+ cp ./cortex-linux/cortex package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/
486+
487+ - name : Get release notes
488+ id : release_notes
489+ run : |
490+ RELEASE_NOTES=$(curl -s -H 'Authorization: token ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/${{ github.repository }}/releases/tags/${VERSION} | jq -r '.body')
491+ echo "RELEASE_NOTES=${RELEASE_NOTES}" >> $GITHUB_ENV
492+ - name : Update change log
493+ run : |
494+ sed -i "s/VERSION/${{ needs.create-draft-release.outputs.version }}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
495+ sed -i "s/CHANGELOG_HERE/${{ env.RELEASE_NOTES }}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
496+ timestamp=$(date -u +"%a, %d %b %Y %H:%M:%S +0000")
497+ sed -i "s/TIME_HERE/${timestamp}/g" package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}/debian/changelog
498+
499+ - name : Build package
500+ run : |
501+ cd package-managers-template/launchpad/cortexso-${{ needs.create-draft-release.outputs.version }}
502+ echo "y" | debuild -S -sa -k${{ secrets.HOMEBREW_GPG_FINGERPRINT }}
503+ sudo pbuilder create --distribution jammy --debootstrapopts --variant=buildd
504+ sudo sudo pbuilder build ../cortexso_${{ needs.create-draft-release.outputs.version }}.dsc
505+ dput ppa:cortexlabs/cortex cortexso_${{ needs.create-draft-release.outputs.version }}_source.changes
506+
0 commit comments