diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 34b7acab..841e5ed6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,21 +30,29 @@ jobs: needs: [ release ] steps: - uses: actions/checkout@v3 - # - uses: actions/setup-go@v3 - # with: - # go-version: '^1.19' - # cache: true - # - uses: subosito/flutter-action@v2 + - uses: actions/setup-go@v3 + with: + go-version: '^1.19' + cache: true + - uses: subosito/flutter-action@v2 - name: Build env: VERSION: ${{ needs.release.outputs.tag_name }} run: | + go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/windows/libgopeed.dll github.com/monkeyWie/gopeed/bind/desktop + cd ui/flutter + flutter build windows + $mingw = "C:\ProgramData\Chocolatey\lib\mingw\tools\install\mingw64\bin\" + $release = "build\windows\runner\Release\" + cp $mingw\libstdc++-6.dll $release + cp $mingw\libgcc_s_seh-1.dll $release + cp $mingw\libwinpthread-1.dll $release echo @" ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Gopeed" - #define MyAppVersion "${env:VERSION.substring(1)}" + #define MyAppVersion "$($env:PATH.substring(1))" #define MyAppPublisher "monkeyWie" #define MyAppURL "https://gopeed.com" #define MyAppExeName "gopeed.exe" @@ -88,7 +96,6 @@ jobs: [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent "@ > setup.iss - type setup.iss & "${Env:ProgramFiles(x86)}\Inno Setup 6\iscc.exe" setup.iss mv "Output\gopeed.exe" "Output\Gopeed-$env:VERSION-windows-amd64.exe" - name: Upload @@ -97,219 +104,219 @@ jobs: upload_url: ${{ needs.release.outputs.upload_url }} asset_path: ui/flutter/build/windows/Output/* overwrite: true - # build-macos-arm64-lib: - # runs-on: ubuntu-latest - # needs: [ release ] - # steps: - # - uses: actions/checkout@v3 - # - uses: actions/setup-go@v3 - # with: - # go-version: '^1.19' - # cache: true - # - run: mkdir -p ~/image-cache - # - id: image-cache - # uses: actions/cache@v3 - # with: - # path: ~/image-cache - # key: image-cache-xgo-v1.19 - # - if: steps.image-cache.outputs.cache-hit != 'true' - # run: | - # docker pull techknowlogick/xgo:go-1.19.x - # docker save -o ~/image-cache/xgo.tar techknowlogick/xgo:go-1.19.x - # - if: steps.image-cache.outputs.cache-hit == 'true' - # run: docker load -i ~/image-cache/xgo.tar - # - name: Build - # run: | - # go install src.techknowlogick.com/xgo@latest - # xgo --targets=darwin/arm64 -tags="nosqlite" -ldflags="-w -s" -buildmode=c-shared -pkg=bind/desktop -out=libgopeed . - # mv libgopeed-*.dylib libgopeed.dylib - # - uses: actions/upload-artifact@v3 - # with: - # name: macos-arm64-lib - # path: libgopeed.dylib - # build-macos: - # runs-on: macos-latest - # needs: [ release, build-macos-arm64-lib ] - # steps: - # - uses: actions/checkout@v3 - # - uses: actions/setup-go@v3 - # with: - # go-version: '^1.19' - # cache: true - # - uses: actions/setup-node@v3 - # with: - # node-version: 16 - # - uses: subosito/flutter-action@v2 - # - name: Install appdmg - # run: npm install -g appdmg - # - uses: actions/download-artifact@v3 - # with: - # name: macos-arm64-lib - # path: ui/flutter/macos/Frameworks - # - name: Build - # env: - # VERSION: ${{ needs.release.outputs.tag_name }} - # run: | - # PROJECT_DIR=$(pwd) + build-macos-arm64-lib: + runs-on: ubuntu-latest + needs: [ release ] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: '^1.19' + cache: true + - run: mkdir -p ~/image-cache + - id: image-cache + uses: actions/cache@v3 + with: + path: ~/image-cache + key: image-cache-xgo-v1.19 + - if: steps.image-cache.outputs.cache-hit != 'true' + run: | + docker pull techknowlogick/xgo:go-1.19.x + docker save -o ~/image-cache/xgo.tar techknowlogick/xgo:go-1.19.x + - if: steps.image-cache.outputs.cache-hit == 'true' + run: docker load -i ~/image-cache/xgo.tar + - name: Build + run: | + go install src.techknowlogick.com/xgo@latest + xgo --targets=darwin/arm64 -tags="nosqlite" -ldflags="-w -s" -buildmode=c-shared -pkg=bind/desktop -out=libgopeed . + mv libgopeed-*.dylib libgopeed.dylib + - uses: actions/upload-artifact@v3 + with: + name: macos-arm64-lib + path: libgopeed.dylib + build-macos: + runs-on: macos-latest + needs: [ release, build-macos-arm64-lib ] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-go@v3 + with: + go-version: '^1.19' + cache: true + - uses: actions/setup-node@v3 + with: + node-version: 16 + - uses: subosito/flutter-action@v2 + - name: Install appdmg + run: npm install -g appdmg + - uses: actions/download-artifact@v3 + with: + name: macos-arm64-lib + path: ui/flutter/macos/Frameworks + - name: Build + env: + VERSION: ${{ needs.release.outputs.tag_name }} + run: | + PROJECT_DIR=$(pwd) - # cd ui/flutter - # flutter build macos - # cd build/macos/Build/Products/Release - # cat>appdmg.json<appdmg.json<debian/debian.yaml<debian/debian.yaml<debian/gui/gopeed.desktop<debian/gui/gopeed.desktop<