From d3c5dafd3edb74c0d47f534491e96d68a6805c01 Mon Sep 17 00:00:00 2001 From: liwei Date: Fri, 26 Mar 2021 16:23:24 +0800 Subject: [PATCH] ci: auto release --- .github/release-drafter.yml | 35 ++++++++++++++++++++++++ .github/workflows/release.yml | 50 ++++++++++++++++++++++++++++++++++ _docs/img/cli-demo.gif | Bin 0 -> 12395 bytes _examples/basic/main.go | 30 ++++++++++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/release.yml create mode 100644 _docs/img/cli-demo.gif create mode 100644 _examples/basic/main.go diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 00000000..79522326 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,35 @@ +name-template: 'v$NEXT_PATCH_VERSION 🌈' +tag-template: 'v$NEXT_PATCH_VERSION' +categories: + - title: '🆕 Features' + labels: + - 'feat' + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'fix' + - 'bugfix' + - 'bug' + - title: '🧰 Maintenance' + label: 'chore' + - title: '📖 Document' + label: 'doc' + - title: '🚀 CI/CD' + label: 'ci' +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: patch +template: | + ## Changes + + $CHANGES \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..33dfdb6d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,50 @@ +name: release + +on: + push: + branches: + - dev +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Build Cli + run: | + CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-w -s" -o gopeed.exe cmd/gopeed/* + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o gopeed cmd/gopeed/* + CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags="-w -s" -o gopeed cmd/gopeed/* + zip gopeed-windows-x64.zip gopeed.exe + zip gopeed-linux-x64.zip gopeed + zip gopeed-darwin-x64.zip gopeed + - uses: release-drafter/release-drafter@v5 + id: create_release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Cli windows + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./gopeed-windows-x64.zip + asset_name: gopeed-${{ steps.create_release.outputs.name }}-windows-x64.zip + asset_content_type: application/zip + - name: Upload Cli linux + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./gopeed-linux-x64.zip + asset_name: gopeed-${{ steps.create_release.outputs.name }}-linux-x64.zip + asset_content_type: application/zip + - name: Upload Cli darwin + uses: actions/upload-release-asset@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: ./gopeed-darwin-x64.zip + asset_name: gopeed-${{ steps.create_release.outputs.name }}-darwin-x64.zip + asset_content_type: application/zip \ No newline at end of file diff --git a/_docs/img/cli-demo.gif b/_docs/img/cli-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cc835fadff4174c0dd05f5510440e3b5ebb7695 GIT binary patch literal 12395 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 N1b+E%e;2_2{{ZOD8r}c^ literal 0 HcmV?d00001 diff --git a/_examples/basic/main.go b/_examples/basic/main.go new file mode 100644 index 00000000..02b60d22 --- /dev/null +++ b/_examples/basic/main.go @@ -0,0 +1,30 @@ +package main + +import ( + "fmt" + "github.com/monkeyWie/gopeed-core/pkg/base" + "github.com/monkeyWie/gopeed-core/pkg/download" +) + +func main() { + finallyCh := make(chan error) + err := download.Boot(). + URL("https://www.baidu.com/index.html"). + Listener(func(event *download.Event) { + if event.Key == download.EventKeyFinally { + finallyCh <- event.Err + } + }). + Create(&base.Options{ + Connections: 8, + }) + if err != nil { + panic(err) + } + err = <-finallyCh + if err != nil { + fmt.Printf("download fail:%v\n", err) + } else { + fmt.Println("download success") + } +}