From a95fbbbd78bd7582c911654c7512461ff79443c5 Mon Sep 17 00:00:00 2001 From: josc146 Date: Fri, 9 Jun 2023 20:37:05 +0800 Subject: [PATCH] CI --- .github/workflows/release.yml | 105 ++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2df806a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,105 @@ +name: release +on: + push: + tags: + - "v*" + +permissions: + contents: write +env: + GH_TOKEN: ${{ github.token }} + +jobs: + create-draft: + runs-on: ubuntu-latest + steps: + - run: echo "VERSION=${GITHUB_REF_NAME#v}" >> $GITHUB_ENV + - uses: actions/checkout@v3 + with: + ref: master + + - uses: jossef/action-set-json-field@v2.1 + with: + file: manifest.json + field: version + value: ${{ env.VERSION }} + + - continue-on-error: true + run: | + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git config --global user.name "github-actions[bot]" + git commit -am "release ${{github.ref_name}}" + git push + + - run: | + gh release create ${{github.ref_name}} -d -F CURRENT_CHANGE.md -t ${{github.ref_name}} + + windows: + runs-on: windows-latest + needs: create-draft + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.20.5' + - uses: actions/setup-python@v4 + id: cp310 + with: + python-version: '3.10' + - uses: crazy-max/ghaction-chocolatey@v2 + with: + args: install upx + - run: | + Start-BitsTransfer https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip ./python-3.10.11-embed-amd64.zip + Expand-Archive ./python-3.10.11-embed-amd64.zip -DestinationPath ./py310 + $content=Get-Content "./py310/python310._pth"; $content | ForEach-Object {if ($_.ReadCount -eq 3) {"Lib\\site-packages"} else {$_}} | Set-Content ./py310/python310._pth + ./py310/python ./backend-python/get-pip.py + ./py310/python -m pip install Cython + Copy-Item -Path "${{ steps.cp310.outputs.python-path }}/../include" -Destination "py310/include" -Recurse + Copy-Item -Path "${{ steps.cp310.outputs.python-path }}/../libs" -Destination "py310/libs" -Recurse + ./py310/python -m pip install cyac + go install github.com/wailsapp/wails/v2/cmd/wails@latest + make + Rename-Item -Path "build/bin/RWKV-Runner.exe" -NewName "RWKV-Runner_windows_x64.exe" + + - run: gh release upload ${{github.ref_name}} build/bin/RWKV-Runner_windows_x64.exe + + linux: + runs-on: ubuntu-latest + needs: create-draft + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.20.5' + - run: | + sudo apt-get install upx + sudo apt-get install build-essential libgtk-3-dev libwebkit2gtk-4.0-dev + go install github.com/wailsapp/wails/v2/cmd/wails@latest + make + mv build/bin/RWKV-Runner build/bin/RWKV-Runner_linux_x64 + + - run: gh release upload ${{github.ref_name}} build/bin/RWKV-Runner_linux_x64 + + macos: + runs-on: macos-13 + needs: create-draft + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v4 + with: + go-version: '1.20.5' + - run: | + go install github.com/wailsapp/wails/v2/cmd/wails@latest + make + cp build/darwin/Readme_Install.txt build/bin/Readme_Install.txt + cp build/bin/RWKV-Runner.app/Contents/MacOS/RWKV-Runner build/bin/RWKV-Runner_darwin_universal + cd build/bin && zip -r RWKV-Runner_macos_universal.zip RWKV-Runner.app Readme_Install.txt + + - run: gh release upload ${{github.ref_name}} build/bin/RWKV-Runner_macos_universal.zip build/bin/RWKV-Runner_darwin_universal + + publish-release: + runs-on: ubuntu-latest + needs: [ windows, linux, macos ] + steps: + - run: gh release edit ${{github.ref_name}} --draft=false