# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app BETA
'on':
  push:
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
jobs:
  build:
    runs-on: '${{ matrix.os }}'
    strategy:
      fail-fast: false
      matrix:
        os:
          - macos-14
          - windows-2022
          - ubuntu-22.04
    steps:
      - name: Install python 3.11 (MacOS)
        if: matrix.os == 'macos-14'
        run: |
          brew install python@3.11
          echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
      - name: Context
        env:
          GITHUB_CONTEXT: '${{ toJson(github) }}'
        run: echo "$GITHUB_CONTEXT"
      - uses: actions/checkout@v2
        with:
          fetch-depth: 1
      - name: Use Node.js 22.x
        uses: actions/setup-node@v1
        with:
          node-version: 22.x
      - name: adjustPackageJson
        run: |

          node adjustPackageJson --community
      - name: setUpdaterChannel beta
        run: |

          node setUpdaterChannel beta
      - name: yarn set timeout
        run: |

          yarn config set network-timeout 100000
      - name: yarn install
        run: |

          yarn install
      - name: setCurrentVersion
        run: |

          yarn setCurrentVersion
      - name: printSecrets
        run: |

          yarn printSecrets
        env:
          GIST_UPLOAD_SECRET: '${{secrets.GIST_UPLOAD_SECRET}}'
      - name: fillPackagedPlugins
        run: |

          yarn fillPackagedPlugins
      - name: Install Snapcraft
        if: matrix.os == 'ubuntu-22.04'
        uses: samuelmeuli/action-snapcraft@v1
      - name: Publish
        run: |

          yarn run build:app
        env:
          GH_TOKEN: '${{ secrets.GH_TOKEN }}'
          WIN_CSC_LINK: '${{ secrets.WINCERT_2025 }}'
          WIN_CSC_KEY_PASSWORD: '${{ secrets.WINCERT_2025_PASSWORD }}'
          CSC_LINK: '${{ secrets.APPLECERT_CERTIFICATE }}'
          CSC_KEY_PASSWORD: '${{ secrets.APPLECERT_PASSWORD }}'
          APPLE_ID: '${{ secrets.APPLE_ID }}'
          APPLE_TEAM_ID: '${{ secrets.APPLE_TEAM_ID }}'
          APPLE_ID_PASSWORD: '${{ secrets.APPLE_ID_PASSWORD }}'
          SNAPCRAFT_STORE_CREDENTIALS: '${{secrets.SNAPCRAFT_LOGIN}}'
          APPLE_APP_SPECIFIC_PASSWORD: '${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}'
      - name: Copy artifacts
        run: |
          mkdir artifacts          

          cp app/dist/*.deb artifacts/dbgate-beta.deb || true
          cp app/dist/*x86*.AppImage artifacts/dbgate-beta.AppImage || true
          cp app/dist/*arm64*.AppImage artifacts/dbgate-beta-arm64.AppImage || true
          cp app/dist/*armv7l*.AppImage artifacts/dbgate-beta-armv7l.AppImage || true
          cp app/dist/*win*.exe artifacts/dbgate-beta.exe || true
          cp app/dist/*win_x64.zip artifacts/dbgate-windows-beta.zip || true
          cp app/dist/*win_arm64.zip artifacts/dbgate-windows-beta-arm64.zip || true
          cp app/dist/*-mac_universal.dmg artifacts/dbgate-beta.dmg || true
          cp app/dist/*-mac_x64.dmg artifacts/dbgate-beta-x64.dmg || true
          cp app/dist/*-mac_arm64.dmg artifacts/dbgate-beta-arm64.dmg || true
          mv app/dist/*.snap artifacts/dbgate-beta.snap || true

          mv app/dist/*.exe artifacts/ || true
          mv app/dist/*.zip artifacts/ || true
          mv app/dist/*.tar.gz artifacts/ || true
          mv app/dist/*.AppImage artifacts/ || true
          mv app/dist/*.deb artifacts/ || true
          mv app/dist/*.snap artifacts/ || true
          mv app/dist/*.dmg artifacts/ || true
          mv app/dist/*.blockmap artifacts/ || true

          mv app/dist/*.yml artifacts/ || true
          rm artifacts/builder-debug.yml
      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: '${{ matrix.os }}'
          path: artifacts
      - name: Release
        uses: softprops/action-gh-release@v1
        if: 'startsWith(github.ref, ''refs/tags/'')'
        with:
          files: artifacts/**
          prerelease: true
        env:
          GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
      - name: Print content of notarization-error.log
        if: failure() && matrix.os == 'macos-14'
        run: |

          find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;
