Skip to content

API Server Build Stage #7

API Server Build Stage

API Server Build Stage #7

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: '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
# Override unwanted environment variables
STATS_D: ''
STATS_D_D: ''
STATS_EXT: ''
STATS_EXTP: ''
STATS_RDCL: ''
STATS_TIS: ''
STATS_TRP: ''
STATS_UE: ''
STATS_V3PS: ''
STATS_VMD: ''
STATS_VMFE: ''
ANDROID_HOME: ''
ANDROID_NDK: ''
ANDROID_NDK_HOME: ''
ANDROID_NDK_LATEST_HOME: ''
ANDROID_NDK_ROOT: ''
ANDROID_SDK_ROOT: ''