Ver código fonte

ci: automatically push packages to packagecloud.io

Ivan Dyachkov 3 anos atrás
pai
commit
9492b40a37
1 arquivos alterados com 32 adições e 0 exclusões
  1. 32 0
      .github/workflows/build_packages.yaml

+ 32 - 0
.github/workflows/build_packages.yaml

@@ -27,6 +27,7 @@ jobs:
     outputs:
       BUILD_PROFILE: ${{ steps.get_profile.outputs.BUILD_PROFILE }}
       IS_EXACT_TAG: ${{ steps.get_profile.outputs.IS_EXACT_TAG }}
+      VERSION: ${{ steps.get_profile.outputs.VERSION }}
 
     steps:
       - uses: actions/checkout@v3
@@ -75,6 +76,7 @@ jobs:
               ;;
           esac
           echo "BUILD_PROFILE=$PROFILE" >> $GITHUB_OUTPUT
+          echo "VERSION=$(./pkg-vsn.sh $PROFILE)" >> $GITHUB_OUTPUT
       - name: get_all_deps
         run: |
           make -C source deps-all
@@ -349,3 +351,33 @@ jobs:
         fi
         aws s3 cp --recursive packages/$PROFILE s3://${{ secrets.AWS_S3_BUCKET }}/$s3dir/${{ github.ref_name }}
         aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_ID }} --paths "/$s3dir/${{ github.ref_name }}/*"
+    - name: Push to packagecloud.io
+      env:
+        PROFILE: ${{ matrix.profile }}
+        VERSION: ${{ needs.prepare.outputs.VERSION }}
+        PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
+      run: |
+        set -eu
+        REPO=$PROFILE
+        if [ $PROFILE = 'emqx-enterprise' ]; then
+            REPO='emqx-enterprise5'
+        fi
+        function push() {
+          docker run -t --rm -e PACKAGECLOUD_TOKEN=$PACKAGECLOUD_TOKEN -v $(pwd)/$2:/w/$2 -w /w ghcr.io/emqx/package_cloud push emqx/$REPO/$1 $2
+        }
+        push "debian/buster" "packages/$PROFILE/$PROFILE-$VERSION-debian10-amd64.deb"
+        push "debian/buster" "packages/$PROFILE/$PROFILE-$VERSION-debian10-arm64.deb"
+        push "debian/bullseye" "packages/$PROFILE/$PROFILE-$VERSION-debian11-amd64.deb"
+        push "debian/bullseye" packages/$PROFILE/$PROFILE-$VERSION-debian11-arm64.deb
+        push "ubuntu/bionic" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu18.04-amd64.deb"
+        push "ubuntu/bionic" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu18.04-arm64.deb"
+        push "ubuntu/focal" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu20.04-amd64.deb"
+        push "ubuntu/focal" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu20.04-arm64.deb"
+        push "ubuntu/jammy" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu22.04-amd64.deb"
+        push "ubuntu/jammy" "packages/$PROFILE/$PROFILE-$VERSION-ubuntu22.04-arm64.deb"
+        push "el/7" "packages/$PROFILE/$PROFILE-$VERSION-el7-amd64.rpm"
+        push "el/7" "packages/$PROFILE/$PROFILE-$VERSION-el7-arm64.rpm"
+        push "el/8" "packages/$PROFILE/$PROFILE-$VERSION-el8-amd64.rpm"
+        push "el/8" "packages/$PROFILE/$PROFILE-$VERSION-el8-arm64.rpm"
+        push "el/6" "packages/$PROFILE/$PROFILE-$VERSION-amzn2-amd64.rpm"
+        push "el/6" "packages/$PROFILE/$PROFILE-$VERSION-amzn2-arm64.rpm"