API Server Build Stage #62
This file contains 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: API Server Build Stage | |
on: | |
workflow_run: | |
workflows: ['Release Apps Stage'] | |
branches: [stage-apps, temp] | |
types: | |
- completed | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
release-linux: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [buildjet-8vcpu-ubuntu-2204] | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js, NPM and Yarn | |
uses: buildjet/setup-node@v4 | |
with: | |
node-version: 20.11.1 | |
cache: 'yarn' | |
- name: Change permissions | |
run: 'sudo chown -R $(whoami) ./*' | |
- name: Install system dependencies | |
run: 'sudo apt-get update && sudo apt install -y curl gnupg git libappindicator3-1 ca-certificates binutils icnsutils graphicsmagick' | |
- name: Fix node-gyp and Python | |
run: python3 -m pip install packaging setuptools | |
- name: Install latest version of NPM | |
run: 'sudo npm install -g npm@9' | |
- name: Install node-gyp package | |
run: 'sudo npm install --quiet -g [email protected]' | |
- name: Install Yarn dependencies | |
run: 'yarn install --network-timeout 1000000 --frozen-lockfile' | |
- name: Bootstrap Yarn | |
run: 'yarn bootstrap' | |
- name: Bump server version | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.serverapi(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_API_SERVER_APP_NAME: 'ever-gauzy-api-server' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_API_SERVER_APP_DESCRIPTION: 'Ever Gauzy API Server' | |
DESKTOP_API_SERVER_APP_ID: 'com.ever.gauzyapiserver' | |
- name: Build Server | |
run: 'yarn build:gauzy-api-server:linux:release:gh' | |
env: | |
USE_HARD_LINKS: false | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
EP_GH_IGNORE_TIME: true | |
SENTRY_DSN: ${{ secrets.SENTRY_DSN }} | |
SENTRY_TRACES_SAMPLE_RATE: '${{ secrets.SENTRY_TRACES_SAMPLE_RATE }}' | |
SENTRY_PROFILE_SAMPLE_RATE: '${{ secrets.SENTRY_PROFILE_SAMPLE_RATE }}' | |
SENTRY_HTTP_TRACING_ENABLED: '${{ secrets.SENTRY_HTTP_TRACING_ENABLED }}' | |
SENTRY_POSTGRES_TRACKING_ENABLED: '${{ secrets.SENTRY_POSTGRES_TRACKING_ENABLED }}' | |
SENTRY_PROFILING_ENABLED: '${{ secrets.SENTRY_PROFILING_ENABLED }}' | |
DO_KEY_ID: ${{ secrets.DO_KEY_ID }} | |
DO_SECRET_KEY: ${{ secrets.DO_SECRET_KEY }} | |
NX_NO_CLOUD: true | |
release-mac: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-12] | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js, NPM and Yarn | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.11.1 | |
cache: 'yarn' | |
- name: Fix node-gyp and Python | |
run: python3 -m pip install packaging setuptools | |
- name: Install latest version of NPM | |
run: 'sudo npm install -g npm@9' | |
- name: Install node-gyp package | |
run: 'sudo npm install --quiet -g [email protected]' | |
- name: Install Yarn dependencies | |
run: 'yarn install --network-timeout 1000000 --frozen-lockfile' | |
- name: Bootstrap Yarn | |
run: 'yarn bootstrap' | |
- name: Bump Server version | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.serverapi(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_API_SERVER_APP_NAME: 'ever-gauzy-api-server' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_API_SERVER_APP_DESCRIPTION: 'Ever Gauzy API Server' | |
DESKTOP_API_SERVER_APP_ID: 'com.ever.gauzyapiserver' | |
- name: Build Server | |
run: 'yarn build:gauzy-api-server:mac:release' | |
env: | |
USE_HARD_LINKS: false | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
EP_GH_IGNORE_TIME: true | |
SENTRY_DSN: ${{ secrets.SENTRY_DSN }} | |
SENTRY_TRACES_SAMPLE_RATE: '${{ secrets.SENTRY_TRACES_SAMPLE_RATE }}' | |
SENTRY_PROFILE_SAMPLE_RATE: '${{ secrets.SENTRY_PROFILE_SAMPLE_RATE }}' | |
SENTRY_HTTP_TRACING_ENABLED: '${{ secrets.SENTRY_HTTP_TRACING_ENABLED }}' | |
SENTRY_POSTGRES_TRACKING_ENABLED: '${{ secrets.SENTRY_POSTGRES_TRACKING_ENABLED }}' | |
SENTRY_PROFILING_ENABLED: '${{ secrets.SENTRY_PROFILING_ENABLED }}' | |
DO_KEY_ID: ${{ secrets.DO_KEY_ID }} | |
DO_SECRET_KEY: ${{ secrets.DO_SECRET_KEY }} | |
NX_NO_CLOUD: true | |
release-windows: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-latest] | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js, NPM and Yarn | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.11.1 | |
cache: 'yarn' | |
- name: Fix node-gyp and Python | |
run: python3 -m pip install packaging setuptools | |
- name: Install latest version of NPM | |
run: 'npm install -g npm@9' | |
- name: Install node-gyp package | |
run: 'npm install --quiet -g [email protected]' | |
- name: Install Yarn dependencies | |
run: 'yarn install --network-timeout 1000000 --frozen-lockfile' | |
- name: Bootstrap Yarn | |
run: 'yarn bootstrap' | |
- name: Bump Server version | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.serverapi(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_API_SERVER_APP_NAME: 'ever-gauzy-api-server' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_API_SERVER_APP_DESCRIPTION: 'Ever Gauzy API Server' | |
DESKTOP_API_SERVER_APP_ID: 'com.ever.gauzyapiserver' | |
- name: Build Server | |
run: | | |
# we need to clear some environment variables to avoid the error about limit of env vars size | |
set AZURE_CONFIG_DIR= | |
set AZURE_DEVOPS_CACHE_DIR= | |
set AZURE_EXTENSION_DIR= | |
set STATS_BLT= | |
set STATS_D= | |
set STATS_D_D= | |
set STATS_EXT= | |
set STATS_EXTP= | |
set STATS_RDCL= | |
set STATS_TIS= | |
set STATS_TRP= | |
set STATS_UE= | |
set STATS_V3PS= | |
set STATS_VMD= | |
set STATS_VMFE= | |
set ANDROID_HOME= | |
set ANDROID_NDK= | |
set ANDROID_NDK_HOME= | |
set ANDROID_NDK_LATEST_HOME= | |
set ANDROID_NDK_ROOT= | |
set ANDROID_SDK_ROOT= | |
set GOROOT_1_20_X64= | |
set GOROOT_1_21_X64= | |
set GOROOT_1_22_X64= | |
set GRADLE_HOME= | |
set JAVA_HOME= | |
set JAVA_HOME_11_X64= | |
set JAVA_HOME_17_X64= | |
set JAVA_HOME_21_X64= | |
set JAVA_HOME_8_X64= | |
set PGBIN= | |
set PGDATA= | |
set PGPASSWORD= | |
set PGROOT= | |
set PGUSER= | |
set PHPROOT= | |
yarn build:gauzy-api-server:windows:release:gh | |
env: | |
USE_HARD_LINKS: false | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
EP_GH_IGNORE_TIME: true | |
SENTRY_DSN: ${{ secrets.SENTRY_DSN }} | |
SENTRY_TRACES_SAMPLE_RATE: '${{ secrets.SENTRY_TRACES_SAMPLE_RATE }}' | |
SENTRY_PROFILE_SAMPLE_RATE: '${{ secrets.SENTRY_PROFILE_SAMPLE_RATE }}' | |
SENTRY_HTTP_TRACING_ENABLED: '${{ secrets.SENTRY_HTTP_TRACING_ENABLED }}' | |
SENTRY_POSTGRES_TRACKING_ENABLED: '${{ secrets.SENTRY_POSTGRES_TRACKING_ENABLED }}' | |
SENTRY_PROFILING_ENABLED: '${{ secrets.SENTRY_PROFILING_ENABLED }}' | |
DO_KEY_ID: ${{ secrets.DO_KEY_ID }} | |
DO_SECRET_KEY: ${{ secrets.DO_SECRET_KEY }} | |
NX_NO_CLOUD: true | |
Path: 'C:\hostedtoolcache\windows\node\20.11.1\x64;C:\Program Files\Git\bin;C:\npm\prefix;C:\hostedtoolcache\windows\Python\3.9.13\x64\Scripts;C:\hostedtoolcache\windows\Python\3.9.13\x64;C:\Program Files\OpenSSL\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\PowerShell\7\;C:\Program Files\CMake\bin;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\GitHub CLI\;C:\Program Files\Amazon\AWSCLIV2\;C:\Users\runneradmin\.dotnet\tools' |