Skip to content

API Server Build Stage #62

API Server Build Stage

API Server Build Stage #62

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'