chore(deps): bump minimatch in /electron #712
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| # Add concurrency to cancel outdated builds | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| sonarcloud: | |
| name: SonarCloud | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22.x | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: 9 | |
| run_install: false | |
| - name: Install Dependencies (Electron) | |
| run: | | |
| cd electron | |
| pnpm install | |
| cd .. | |
| - name: Run Electron Tests with Coverage | |
| run: | | |
| cd electron | |
| pnpm coverage | |
| cd .. | |
| - name: Install Dependencies (Client) | |
| run: | | |
| cd client | |
| pnpm install | |
| cd .. | |
| - name: Run Client Tests with Coverage | |
| run: | | |
| cd client | |
| pnpm coverage | |
| cd .. | |
| - name: SonarCloud Scan Electron | |
| uses: SonarSource/sonarcloud-github-action@master | |
| with: | |
| projectBaseDir: electron | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| - name: SonarCloud Scan Client | |
| uses: SonarSource/sonarcloud-github-action@master | |
| with: | |
| projectBaseDir: client | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
| build: | |
| name: Build (${{ matrix.os }}-${{ matrix.arch }}) | |
| needs: [sonarcloud] | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 # Set maximum job runtime | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| node-version: 22.x | |
| arch: x64 | |
| - os: windows-latest | |
| node-version: 22.x | |
| arch: x64 | |
| - os: macos-13 | |
| node-version: 22.x | |
| arch: x64 | |
| - os: macos-latest | |
| node-version: 22.x | |
| arch: arm64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v2 | |
| with: | |
| version: 9 | |
| run_install: false | |
| - name: Get Package Version | |
| id: package_version | |
| shell: bash | |
| run: echo "PACKAGE_VERSION=$(node -p -e "require('./electron/package.json').version")" >> $GITHUB_ENV | |
| - name: Setup Sentry Release | |
| if: matrix.os == 'ubuntu-latest' | |
| env: | |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
| SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
| run: | | |
| pnpm dlx @sentry/cli releases set-commits "${{ env.PACKAGE_VERSION }}" --commit "${{ github.repository }}@${{ github.sha }}" | |
| pnpm dlx @sentry/cli releases new "${{ env.PACKAGE_VERSION }}" | |
| - name: Install Python Setuptools on Ubuntu | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y python3-setuptools | |
| - name: Install Python Setuptools on MacOS-13 | |
| if: matrix.os == 'macos-13' | |
| run: | | |
| # Python 2 is no longer available in Homebrew | |
| # Install setuptools which provides distutils for Python 3 | |
| python3 -m pip install setuptools | |
| # Set environment variables to use Python 3 | |
| echo "PYTHON=$(which python3)" >> $GITHUB_ENV | |
| echo "npm_config_python=$(which python3)" >> $GITHUB_ENV | |
| - name: Install Python Setuptools on other macOS | |
| if: startsWith(matrix.os, 'macos') && matrix.os != 'macos-13' | |
| run: brew install python-setuptools | |
| - name: Install Python Setuptools on Windows | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install setuptools | |
| - name: Configure node-gyp for MacOS-13 | |
| if: matrix.os == 'macos-13' | |
| run: | | |
| cd electron | |
| # Configure node-gyp to use Python 3 | |
| echo "node-gyp-binary=python3" >> .npmrc | |
| echo "python=python3" >> .npmrc | |
| echo "npm_config_python=python3" >> .npmrc | |
| cd .. | |
| - name: Install Dependencies (Electron) | |
| shell: bash | |
| run: | | |
| cd electron | |
| if [[ "${{ matrix.os }}" == "macos-13" ]]; then | |
| PYTHON=$(which python3) pnpm install | |
| else | |
| pnpm install | |
| fi | |
| cd .. | |
| - name: Install Dependencies (Client) | |
| run: | | |
| cd client | |
| pnpm install | |
| cd .. | |
| - name: Build Client | |
| env: | |
| VITE_TEMPLATE_ID: ${{ secrets.VITE_TEMPLATE_ID }} | |
| VITE_SERVICE_ID: ${{ secrets.VITE_SERVICE_ID }} | |
| VITE_USER_ID: ${{ secrets.VITE_USER_ID }} | |
| run: | | |
| cd client | |
| pnpm build | |
| cd .. | |
| - name: Create .env file | |
| shell: bash | |
| run: | | |
| cd electron | |
| echo "SENTRY_DSN=${{ secrets.SENTRY_DSN }}" >> .env | |
| cd .. | |
| - name: Build and Release Electron App | |
| shell: bash | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| CSC_LINK: ${{ secrets.CSC_LINK }} | |
| CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} | |
| APPLE_ID: ${{ secrets.APPLE_ID }} | |
| APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }} | |
| APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
| CSC_IDENTITY_AUTO_DISCOVERY: ${{ matrix.os != 'windows-latest' }} | |
| run: | | |
| cd electron | |
| # Add flag to reduce console output | |
| export ELECTRON_BUILDER_SILENT=true | |
| pnpm build | |
| pnpm prepare_client | |
| if [[ "${{ matrix.os }}" == "macos-"* ]]; then | |
| pnpm release -- --mac --arch=${{ matrix.arch }} | |
| elif [[ "${{ matrix.os }}" == "windows-latest" ]]; then | |
| pnpm release -- --win | |
| elif [[ "${{ matrix.os }}" == "ubuntu-latest" ]]; then | |
| pnpm release -- --linux | |
| fi | |
| cd .. | |
| - name: Upload Sentry Sourcemaps | |
| if: matrix.os == 'ubuntu-latest' | |
| env: | |
| SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
| SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
| run: | | |
| pnpm dlx @sentry/cli releases files "${{ env.PACKAGE_VERSION }}" upload-sourcemaps ./client/dist/assets/ --rewrite --url-prefix "~/dist/assets" | |
| pnpm dlx @sentry/cli releases files "${{ env.PACKAGE_VERSION }}" list | |
| pnpm dlx @sentry/cli releases finalize "${{ env.PACKAGE_VERSION }}" | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.os }}-build | |
| path: | | |
| electron/packaged/*.dmg | |
| electron/packaged/*.AppImage | |
| electron/packaged/*.deb | |
| electron/packaged/*.rpm | |
| electron/packaged/*.exe | |
| electron/packaged/*.msi |