From b350e1322aaf2d48a63b7f167f598d41d4b7aaa1 Mon Sep 17 00:00:00 2001 From: Francisco Pessano Date: Mon, 10 Apr 2023 19:09:03 -0300 Subject: [PATCH] Update release.yml --- .github/workflows/release.yml | 156 +++++++++++++++++++++++++++++++--- 1 file changed, 142 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d991f7..933b917 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,25 +3,153 @@ on: types: [created] jobs: - release: - name: release ${{ matrix.target }} - runs-on: ubuntu-latest + build-chatgpt: + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - - target: x86_64-pc-windows-gnu - archive: zip - - target: x86_64-unknown-linux-musl - archive: tar.gz tar.xz tar.zst - - target: x86_64-apple-darwin - archive: zip + - build: linux + os: ubuntu-latest + arch: x86_64 + target: x86_64-unknown-linux-gnu + - build: macos + os: macos-latest + arch: x86_64 + target: x86_64-apple-darwin + - build: macos + os: macos-latest + arch: aarch64 + target: aarch64-apple-darwin + - build: windows + os: windows-latest + arch: x86_64 + target: x86_64-pc-windows-msvc steps: - - uses: actions/checkout@master - - name: Compile and release - uses: rust-build/rust-build.action@v1.4.3 + - uses: actions/checkout@v3 + + # - uses: pnpm/action-setup@v2 + # name: Install pnpm + # id: pnpm-install + # with: + # version: 7 + # run_install: false + + # - name: Install Node.js + # uses: actions/setup-node@v3 + # with: + # node-version: 18 + # cache: pnpm + # - run: pnpm install --frozen-lockfile + + - name: 'Setup Rust' + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} + - uses: Swatinem/rust-cache@v2 + with: + key: ${{ matrix.target }} + + - name: Install xattr (macos only) + if: matrix.os == 'macos-latest' + run: pip install xattr + + - name: Install dependencies (ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libayatana-appindicator3-dev librsvg2-dev patchelf + + # - name: Build FE + # run: pnpm build:fe + + - name: Install rust target + run: rustup target add ${{ matrix.target }} + + # - name: fix tray icon + # if: matrix.os != 'macos-latest' + # run: | + # pnpm fix:tray + + - run: cargo build --release --target=${{ matrix.target }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - uses: actions/upload-artifact@v3 + if: matrix.os == 'ubuntu-latest' with: - RUSTTARGET: ${{ matrix.target }} - ARCHIVE_TYPES: ${{ matrix.archive }} + name: artifacts-${{ matrix.arch }} + path: | + ./target/${{ matrix.target }}/release/bundle/appimage/**.AppImage.* + ./target/${{ matrix.target }}/release/bundle/deb/**.deb + + - uses: actions/upload-artifact@v3 + if: matrix.os == 'macos-latest' + with: + name: artifacts-${{ matrix.arch }} + path: | + ./target/${{ matrix.target }}/release/bundle/dmg/**.dmg + ./target/${{ matrix.target }}/release/bundle/macos/**.app.* + + - uses: actions/upload-artifact@v3 + if: matrix.os == 'windows-latest' + with: + name: artifacts-${{ matrix.arch }} + path: | + ./target/${{ matrix.target }}/release/bundle/msi/** + release-chatgpt: + needs: build-chatgpt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install xattr + run: | + sudo apt-get update + sudo apt-get install -y xattr + + - name: Query version number + run: echo "version=${GITHUB_REF:11}" >> $GITHUB_ENV + + - name: Download x86_64 artifacts + uses: actions/download-artifact@v3 + with: + name: artifacts-x86_64 + path: artifacts/x86_64 + + - name: Download aarch64 artifacts + uses: actions/download-artifact@v3 + with: + name: artifacts-aarch64 + path: artifacts/aarch64 + + - name: Rename artifacts + run: | + mv "artifacts/aarch64/dmg/ChatGPT_${{ env.version }}_aarch64.dmg" "artifacts/ChatGPT_${{ env.version }}_macos_aarch64.dmg" + mv "artifacts/aarch64/macos/ChatGPT.app.tar.gz" "artifacts/ChatGPT_${{ env.version }}_macos_aarch64.app.tar.gz" + mv "artifacts/aarch64/macos/ChatGPT.app.tar.gz.sig" "artifacts/ChatGPT_${{ env.version }}_macos_aarch64.app.tar.gz.sig" + + mv "artifacts/x86_64/dmg/ChatGPT_${{ env.version }}_x64.dmg" "artifacts/ChatGPT_${{ env.version }}_macos_x86_64.dmg" + mv "artifacts/x86_64/macos/ChatGPT.app.tar.gz" "artifacts/ChatGPT_${{ env.version }}_macos_x86_64.app.tar.gz" + mv "artifacts/x86_64/macos/ChatGPT.app.tar.gz.sig" "artifacts/ChatGPT_${{ env.version }}_macos_x86_64.app.tar.gz.sig" + + mv "artifacts/x86_64/deb/chat-gpt_${{ env.version }}_amd64.deb" "artifacts/x86_64/deb/ChatGPT_${{ env.version }}_linux_x86_64.deb" + mv "artifacts/x86_64/appimage/chat-gpt_${{ env.version }}_amd64.AppImage.tar.gz" "artifacts/ChatGPT_${{ env.version }}_linux_x86_64.AppImage.tar.gz" + mv "artifacts/x86_64/appimage/chat-gpt_${{ env.version }}_amd64.AppImage.tar.gz.sig" "artifacts/ChatGPT_${{ env.version }}_linux_x86_64.AppImage.tar.gz.sig" + + mv "artifacts/x86_64/ChatGPT_${{ env.version }}_x64_en-US.msi" "artifacts/ChatGPT_${{ env.version }}_windows_x86_64.msi" + mv "artifacts/x86_64/ChatGPT_${{ env.version }}_x64_en-US.msi.zip" "artifacts/ChatGPT_${{ env.version }}_windows_x86_64.msi.zip" + mv "artifacts/x86_64/ChatGPT_${{ env.version }}_x64_en-US.msi.zip.sig" "artifacts/ChatGPT_${{ env.version }}_windows_x86_64.msi.zip.sig" + + - name: Create Release + uses: softprops/action-gh-release@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v${{ env.version }} + name: ChatGPT v${{ env.version }} + body: See the assets to download this version and install. + prerelease: false + generate_release_notes: false + files: ./artifacts/**/* +