From 32b43c406a6d35e1f9f0c1690c4dbeb586bae080 Mon Sep 17 00:00:00 2001 From: dodiadodia Date: Thu, 10 Nov 2022 10:54:32 +0800 Subject: [PATCH] Add workflow to build edgeadm package --- .github/workflows/release.yaml | 188 +++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 .github/workflows/release.yaml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..c399a39 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,188 @@ +name: Build Package +on: + push: + tags: + - 'v*' + +jobs: + build-and-release: + runs-on: ubuntu-latest + steps: + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: 1.17.x + + - name: Check out edgeadm (@main) + uses: actions/checkout@v3 + with: + ref: 'main' + + - name: Build edgeadm for multiarch(@main) + run: sudo make build.multiarch + + - name: Checkout edge-install static file(@AMD64-1.22) + uses: actions/checkout@v3 + with: + repository: 'superedge/edge-install' + path: 'edge-install' + ref: '1.22-AMD64' + token: ${{ secrets.ACTION_TOKEN }} + lfs: true + + - name: Build edgeadm package(@AMD64-1.22) + run: | + cd ${{ github.workspace }} + mv edge-install/build_package.sh . + sh build_package.sh #build kube-linux-* package + + #make edgeadm package + mkdir edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6 + mv kube-linux-amd64-v1.22.6.tar.gz ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6 + cp ./_output/linux/amd64/edgeadm ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6 + tar zcvf edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6.tgz ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6 + + #clear env + rm -rf build_package.sh + rm -rf edge-install + + - name: Checkout edge-install static file(@ARM64-1.22) + uses: actions/checkout@v3 + with: + repository: 'superedge/edge-install' + path: 'edge-install' + ref: '1.22-ARM64' + token: ${{ secrets.ACTION_TOKEN }} + lfs: true + + - name: Build edgeadm package(@ARM64-1.22) + run: | + cd ${{ github.workspace }} + mv edge-install/build_package.sh . + sh build_package.sh #build kube-linux-* package + + #make edgeadm-linux-* package + mkdir edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6 + mv kube-linux-arm64-v1.22.6.tar.gz ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6 + cp ./_output/linux/arm64/edgeadm ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6 + tar zcvf edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6.tgz ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6 + + #clear env + rm -rf build_package.sh + rm -rf edge-install + + - name: Create Release + id: create_release + uses: actions/create-release@main + env: + GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + draft: false + prerelease: false + + - name: Upload Release edgeadm for AMD64-1.22 + uses: actions/upload-release-asset@main + env: + GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6.tgz + asset_name: edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6.tgz + asset_content_type: application/tgz + + - name: Upload Release edgeadm for ARM64-1.22 + uses: actions/upload-release-asset@main + env: + GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6.tgz + asset_name: edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6.tgz + asset_content_type: application/tgz + + - name: Clear @main environment + run: | + sudo rm -rf ./_output + sudo rm -rf edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.22.6 + sudo rm -rf edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.22.6 + + - name: Check out edgeadm (@release-1.20) + uses: actions/checkout@v3 + with: + ref: 'release-1.20' + + - name: Build edgeadm for multiarch(@release-1.20) + run: sudo make build.multiarch + + - name: Checkout edge-install static file(@AMD64-1.20) + uses: actions/checkout@v3 + with: + repository: 'superedge/edge-install' + path: 'edge-install' + ref: '1.20-AMD64' + token: ${{ secrets.ACTION_TOKEN }} + lfs: true + + - name: Build edgeadm package(@AMD64-1.20) + run: | + cd ${{ github.workspace }} + mv edge-install/build_package.sh . + sh build_package.sh #build kube-linux-* package + + #make edgeadm package + mkdir edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6 + mv kube-linux-amd64-v1.20.6.tar.gz ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6 + cp ./_output/linux/amd64/edgeadm ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6 + tar zcvf edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6.tgz ./edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6 + + #clear env + rm -rf build_package.sh + rm -rf edge-install + + - name: Checkout edge-install static file(@ARM64-1.20) + uses: actions/checkout@v3 + with: + repository: 'superedge/edge-install' + path: 'edge-install' + ref: '1.20-ARM64' + token: ${{ secrets.ACTION_TOKEN }} + lfs: true + + - name: Build edgeadm package(@ARM64-1.20) + run: | + cd ${{ github.workspace }} + mv edge-install/build_package.sh . + sh build_package.sh #build kube-linux-* package + + #make edgeadm-linux-* package + mkdir edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6 + mv kube-linux-arm64-v1.20.6.tar.gz ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6 + cp ./_output/linux/arm64/edgeadm ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6 + tar zcvf edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6.tgz ./edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6 + + #clear env + rm -rf build_package.sh + rm -rf edge-install + + - name: Upload Release edgeadm for AMD64-1.20 + uses: actions/upload-release-asset@main + env: + GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6.tgz + asset_name: edgeadm-linux-amd64-${{ github.ref_name }}-k8s-1.20.6.tgz + asset_content_type: application/tgz + + - name: Upload Release edgeadm for ARM64-1.20 + uses: actions/upload-release-asset@main + env: + GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6.tgz + asset_name: edgeadm-linux-arm64-${{ github.ref_name }}-k8s-1.20.6.tgz + asset_content_type: application/tgz +