Desktop Timer App Build Prod #154
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 Prod | |
on: | |
workflow_run: | |
workflows: ['Release Prod'] | |
branches: [master] | |
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 node-gyp@10.2.0' | |
- 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(true)) | |
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 node-gyp@10.2.0' | |
- 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(true)) | |
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 node-gyp@10.2.0' | |
- 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(true)) | |
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: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 |