on: release: types: [created] jobs: build-chatgpt: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - 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@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: 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/**/*