Feat/mysql postgres entra #1451
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: Studio - Build [non production] | |
on: | |
pull_request: | |
paths-ignore: | |
- apps/sqltools/** | |
- docs/** | |
push: | |
branches: | |
- "master" | |
paths-ignore: | |
- 'apps/sqltools/**' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
masterbuild: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-14, ubuntu-22.04, windows-2022, ubuntu-arm64] | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v1 | |
- name: Install Snapcraft | |
uses: samuelmeuli/action-snapcraft@v2 | |
if: "contains(matrix.os, 'ubuntu') && !contains(matrix.os, 'arm')" | |
- name: Install python 3.11 (not Mac) | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
if: "!startsWith(matrix.os, 'macos')" | |
- name: Install flatpak tools | |
if: "contains(matrix.os, 'ubuntu') && !contains(matrix.os, 'arm')" | |
run: | | |
sudo apt install -y flatpak flatpak-builder rpm | |
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo | |
- name: Install fpm | |
run: sudo gem install fpm | |
if: "contains(matrix.os, 'ubuntu') && !contains(matrix.os, 'arm')" | |
- name: Install python 3.11 (mac) | |
if: "startsWith(matrix.os, 'macos')" | |
run: | | |
# Install Python 3.11 | |
brew install [email protected] | |
# Add Python 3.11 to PATH | |
echo "/opt/homebrew/opt/[email protected]/libexec/bin" >> $GITHUB_PATH | |
export PATH="/opt/homebrew/opt/[email protected]/libexec/bin:$PATH" | |
export PYTHON_PATH="/opt/homebrew/opt/[email protected]/libexec/bin/python3" | |
- name: Verify Python Version | |
if: "startsWith(matrix.os, 'windows')" | |
run: | | |
$PYTHON_VERSION = python --version | Out-String | |
Write-Output "Installed Python version: $PYTHON_VERSION" | |
if (-not $PYTHON_VERSION.StartsWith("Python 3.11")) { | |
Write-Output "Error: Python version does not start with 3.11" | |
exit 1 | |
} | |
shell: powershell | |
- name: Verify Python Version | |
if: "!startsWith(matrix.os, 'windows')" | |
run: | | |
PYTHON_VERSION=$(python3 --version | cut -d " " -f 2) | |
echo "Installed Python version: $PYTHON_VERSION" | |
if [[ ! $PYTHON_VERSION == 3.11* ]]; then | |
echo "Error: Python version does not start with 3.11" | |
exit 1 | |
fi | |
- name: Install Node.js, NPM and Yarn | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: '.nvmrc' | |
cache: yarn | |
- name: Clean cache | |
run: yarn cache clean | |
- name: Check dependencies | |
run: "yarn install --frozen-lockfile --network-timeout 100000" | |
env: | |
npm_config_node_gyp: ${{ github.workspace }}${{ runner.os == 'Windows' && '\node_modules\node-gyp\bin\node-gyp.js' || '/node_modules/node-gyp/bin/node-gyp.js' }} | |
- name: Build Electron app | |
run: "yarn run electron:build --publish never" | |
if: startsWith(matrix.os, 'ubuntu') == false | |
env: | |
PYTHON_PATH: "${{ startsWith(matrix.os, 'macos') && '/opt/homebrew/opt/[email protected]/libexec/bin/python3' || '$PYTHON_PATH' }}" | |
PYTHONPATH: "${{ startsWith(matrix.os, 'macos') && '/opt/homebrew/opt/[email protected]/libexec/bin/python3' || '$PYTHONPATH' }}" | |
SNAPCRAFT_BUILD_ENVIRONMENT: 'lxd' | |
USE_SYSTEM_FPM: true | |
# just build appimage in master to keep things quick. | |
- name: Build Electron app | |
run: "yarn run electron:build --publish never --linux AppImage" | |
if: startsWith(matrix.os, 'ubuntu') | |
env: | |
PYTHON_PATH: "${{ startsWith(matrix.os, 'macos') && '/opt/homebrew/opt/[email protected]/libexec/bin/python3' || '$PYTHON_PATH' }}" | |
PYTHONPATH: "${{ startsWith(matrix.os, 'macos') && '/opt/homebrew/opt/[email protected]/libexec/bin/python3' || '$PYTHONPATH' }}" | |
SNAPCRAFT_BUILD_ENVIRONMENT: 'lxd' | |
USE_SYSTEM_FPM: true | |
- name: Cleanup artifacts | |
if: "!startsWith(matrix.os, 'windows')" | |
run: | | |
npx rimraf "apps/studio/dist_electron/!(*.exe|*.deb|*.rpm|*.AppImage|*.dmg|*.snap)" | |
- name: Cleanup artifacts Win | |
if: "startsWith(matrix.os, 'windows')" | |
continue-on-error: true | |
run: | | |
npx rimraf "apps\studio\dist_electron\!(*.exe)" | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.os }} | |
path: apps/studio/dist_electron |