Fix Python 3.13 installation detection in formula #103
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: Homebrew Formula | |
| on: | |
| workflow_dispatch: | |
| repository_dispatch: | |
| types: [website-build] | |
| pull_request: | |
| paths: | |
| - 'Formula/**' | |
| - '.github/workflows/brew.yml' | |
| push: | |
| branches: [ master ] | |
| tags: [ '[0-9]*.[0-9]*.[0-9]*' ] | |
| jobs: | |
| test-formula: | |
| strategy: | |
| matrix: | |
| os: [macos-13, macos-14] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Homebrew environment | |
| run: | | |
| brew update-reset | |
| brew --version | |
| brew config | |
| - name: Install Python 3.13 | |
| run: | | |
| brew install python@3.13 | |
| python3 --version | |
| brew --prefix python@3.13 | |
| - name: Style check | |
| run: | | |
| brew style ./Formula/ssh-studio.rb | |
| - name: Add formula to tap and audit | |
| run: | | |
| # Create a local tap | |
| brew tap-new --no-git local/ssh-studio | |
| # Copy formula to the tap | |
| cp ./Formula/ssh-studio.rb $(brew --repository local/ssh-studio)/Formula/ | |
| # Now audit the formula | |
| brew audit --new --strict local/ssh-studio/ssh-studio | |
| - name: Build and install | |
| run: | | |
| brew install --build-from-source local/ssh-studio/ssh-studio | |
| - name: Test formula | |
| run: | | |
| ssh-studio & | |
| sleep 2 | |
| brew test local/ssh-studio/ssh-studio | |
| # Close the GUI app | |
| pkill -f "SSH Studio" || true | |
| pkill -f "ssh-studio" || true | |
| - name: Test app bundle | |
| run: | | |
| # Test the .app bundle was created | |
| ls -la "$(brew --prefix local/ssh-studio/ssh-studio)/Applications/SSH Studio.app" | |
| # Test the launcher script | |
| "$(brew --prefix local/ssh-studio/ssh-studio)/Applications/SSH Studio.app/Contents/MacOS/ssh-studio" --help & | |
| sleep 2 | |
| # Close the GUI app | |
| pkill -f "SSH Studio" || true | |
| pkill -f "ssh-studio" || true | |
| - name: Create bottle (optional) | |
| run: | | |
| brew uninstall --force local/ssh-studio/ssh-studio || true | |
| brew install --build-bottle local/ssh-studio/ssh-studio | |
| brew bottle --json local/ssh-studio/ssh-studio | |
| continue-on-error: true |