diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index be7f1f9e..0b4e5e3d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,18 +9,6 @@ jobs: build: name: Create Release runs-on: ubuntu-latest - strategy: - matrix: - os-arch: [ - kubevpn-darwin-amd64, - kubevpn-darwin-arm64, - kubevpn-windows-amd64.exe, - kubevpn-windows-arm64.exe, - kubevpn-windows-386.exe, - kubevpn-linux-amd64, - kubevpn-linux-arm64, - kubevpn-linux-386, - ] steps: - name: Set up Go uses: actions/setup-go@v2 @@ -38,8 +26,8 @@ jobs: release_name: Release ${{ github.ref }} body: | Changes in this Release - - First Change - - Second Change + - Fix known bugs + - Optimize code draft: false prerelease: false @@ -61,15 +49,15 @@ jobs: name: UPLOAD_URL path: UPLOAD_URL - - name: Build kubevpn-all-arch - run: make all + - name: Push image to Github packages + run: | + echo ${{ secrets.GPR_PASS }} | docker login docker.pkg.github.com -u ${{ secrets.GPR_USER }} --password-stdin + make all-image - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Repository Dispatch + uses: peter-evans/repository-dispatch@v1 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ${{ matrix.os-arch }} - asset_name: ${{ matrix.os-arch }} - asset_content_type: application/octet-stream + token: ${{ secrets.GITHUB_TOKEN }} + repository: wencaiwulue/kubevpn + event-type: my-event + client-payload: '{"url": "${{ steps.create_release.outputs.upload_url }}"}' diff --git a/.github/workflows/upload_release.yml b/.github/workflows/upload_release.yml new file mode 100644 index 00000000..8b1dd27d --- /dev/null +++ b/.github/workflows/upload_release.yml @@ -0,0 +1,42 @@ +name: Upload release + +on: + repository_dispatch: + types: [ my-event ] + +jobs: + build: + name: Create Release + runs-on: ubuntu-latest + strategy: + matrix: + os-arch: [ + kubevpn-darwin-amd64, + kubevpn-darwin-arm64, + kubevpn-windows-amd64.exe, + kubevpn-windows-arm64.exe, + kubevpn-windows-386.exe, + kubevpn-linux-amd64, + kubevpn-linux-arm64, + kubevpn-linux-386, + ] + steps: + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build kubevpn-all-arch + run: make all-kubevpn + + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.client_payload.url }} + asset_path: ${{ matrix.os-arch }} + asset_name: ${{ matrix.os-arch }} + asset_content_type: application/octet-stream diff --git a/Makefile b/Makefile index e40e062c..3b59d7c4 100644 --- a/Makefile +++ b/Makefile @@ -22,10 +22,15 @@ LDFLAGS=--ldflags "-w -s \ " .PHONY: all -all: kubevpn-darwin-amd64 kubevpn-darwin-arm64 \ +all: all-kubevpn all-image + +.PHONY: all-kubevpn +all-kubevpn: kubevpn-darwin-amd64 kubevpn-darwin-arm64 \ kubevpn-windows-amd64 kubevpn-windows-386 kubevpn-windows-arm64 \ -kubevpn-linux-amd64 kubevpn-linux-386 kubevpn-linux-arm64 \ -image image-mesh image-control-plane +kubevpn-linux-amd64 kubevpn-linux-386 kubevpn-linux-arm64 + +.PHONY: all-image +all-image: image image-mesh image-control-plane # ---------darwin----------- .PHONY: kubevpn-darwin-amd64