Desktop Timer App Build Stage #321
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: Desktop Timer App 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 version desktop timer app | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.desktopTimer(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_TIMER_APP_NAME: 'ever-gauzy-desktop-timer' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_TIMER_APP_DESCRIPTION: 'Ever Gauzy Desktop Timer' | |
DESKTOP_TIMER_APP_ID: 'com.ever.gauzydesktoptimer' | |
- name: Build Desktop Timer App | |
run: 'yarn build:desktop-timer: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 version desktop timer app | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.desktopTimer(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_TIMER_APP_NAME: 'ever-gauzy-desktop-timer' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_TIMER_APP_DESCRIPTION: 'Ever Gauzy Desktop Timer' | |
DESKTOP_TIMER_APP_ID: 'com.ever.gauzydesktoptimer' | |
- name: Build Desktop Timer App | |
run: 'yarn build:desktop-timer: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 version desktop timer app | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const script = require('./.scripts/bump-version-electron.js') | |
console.log(script.desktopTimer(false)) | |
env: | |
PROJECT_REPO: 'https://github.com/ever-co/ever-gauzy.git' | |
DESKTOP_TIMER_APP_NAME: 'ever-gauzy-desktop-timer' | |
COMPANY_SITE_LINK: 'https://gauzy.co' | |
DESKTOP_TIMER_APP_DESCRIPTION: 'Ever Gauzy Desktop Timer' | |
DESKTOP_TIMER_APP_ID: 'com.ever.gauzydesktoptimer' | |
- name: Print environment variables and their sizes | |
shell: powershell | |
run: | | |
foreach ($envVar in [System.Environment]::GetEnvironmentVariables().Keys) { | |
$value = [System.Environment]::GetEnvironmentVariable($envVar) | |
if ($null -ne $value) { | |
$length = $value.Length | |
Write-Output "${envVar}: ${length}" | |
} | |
} | |
- name: Print PATH var value | |
shell: powershell | |
run: | | |
$path = [System.Environment]::GetEnvironmentVariable('PATH') | |
Write-Output "PATH environment variable is:" | |
Write-Output $path | |
- name: Build Desktop Timer App | |
run: | | |
yarn build:desktop-timer: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 |