CP-3171 [API Device][Kompakt] Contacts - viewing #3321
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: Build & deploy to feature branch | |
on: | |
pull_request: | |
types: | |
- opened | |
- ready_for_review | |
- reopened | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [Linux, Windows, macOS] | |
if: startsWith(github.head_ref || github.ref, 'CP-') | |
environment: development | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18.16.1 | |
- name: Setup Env for Windows | |
if: matrix.os == 'Windows' | |
env: | |
E2ECI: "false" | |
PHRASE_API_KEY: ${{ secrets.PHRASE_API_KEY }} | |
PHRASE_API_URL: ${{ secrets.PHRASE_API_URL }} | |
PHRASE_API_KEY_DEV: ${{ secrets.PHRASE_API_KEY_DEV }} | |
MUDITA_CENTER_SERVER_URL: ${{ secrets.MUDITA_CENTER_SERVER_URL }} | |
MUDITA_CENTER_SERVER_V2_URL: ${{ secrets.MUDITA_CENTER_SERVER_V2_URL }} | |
ROLLBAR_TOKEN: ${{ secrets.ROLLBAR_TOKEN }} | |
RELEASES_REPOSITORY_NAME: ${{ secrets.RELEASES_REPOSITORY_NAME }} | |
PRERELEASES_ENABLED: ${{ secrets.PRERELEASES_ENABLED }} | |
GITHUB_ACCESS_TOKEN: ${{ secrets.MC_GITHUB_ACCESS_TOKEN }} | |
LOGIN_MICROSOFT_ONLINE_CLIENT_ID: ${{ secrets.LOGIN_MICROSOFT_ONLINE_CLIENT_ID }} | |
FONTS_DIRECTORY_URL: ${{ secrets.FONTS_DIRECTORY_URL }} | |
FRESHDESK_API_URL: ${{ secrets.FRESHDESK_API_URL }} | |
FRESHDESK_API_TOKEN: ${{ secrets.FRESHDESK_API_TOKEN }} | |
ANALYTICS_ENABLED: ${{ secrets.ANALYTICS_ENABLED }} | |
ANALYTICS_API_URL: ${{ secrets.ANALYTICS_API_URL }} | |
ANALYTICS_API_SITE_ID: ${{ secrets.ANALYTICS_API_SITE_ID }} | |
FEATURE_TOGGLE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_ENVIRONMENT }} | |
STATIC_CONFIGURATION_FILE_PATH: ${{ secrets.STATIC_CONFIGURATION_FILE_PATH }} | |
DEV_REDUX_LOGGER_ENABLED: ${{ secrets.DEV_REDUX_LOGGER_ENABLED }} | |
DEV_DEVICE_LOGGER_ENABLED: ${{ secrets.DEV_DEVICE_LOGGER_ENABLED }} | |
FEATURE_TOGGLE_RELEASE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_RELEASE_ENVIRONMENT }} | |
DEV_TOOLS_SHORTCUT_ENABLED: "1" | |
LOCALAPPDATA: "" | |
KOMPAKT_OS_UPDATE_DEV_TOKEN: ${{ secrets.KOMPAKT_OS_UPDATE_DEV_TOKEN }} | |
shell: cmd | |
run: | | |
SET > .env | |
jq -r -j .version apps/mudita-center/package.json > apps/mudita-center/version | |
- name: Setup Env for Mac | |
if: matrix.os == 'macOS' | |
env: | |
PHRASE_API_KEY: ${{ secrets.PHRASE_API_KEY }} | |
PHRASE_API_URL: ${{ secrets.PHRASE_API_URL }} | |
PHRASE_API_KEY_DEV: ${{ secrets.PHRASE_API_KEY_DEV }} | |
MUDITA_CENTER_SERVER_URL: ${{ secrets.MUDITA_CENTER_SERVER_URL }} | |
MUDITA_CENTER_SERVER_V2_URL: ${{ secrets.MUDITA_CENTER_SERVER_V2_URL }} | |
ROLLBAR_TOKEN: ${{ secrets.ROLLBAR_TOKEN }} | |
RELEASES_REPOSITORY_NAME: ${{ secrets.RELEASES_REPOSITORY_NAME }} | |
PRERELEASES_ENABLED: ${{ secrets.PRERELEASES_ENABLED }} | |
GITHUB_ACCESS_TOKEN: ${{ secrets.MC_GITHUB_ACCESS_TOKEN }} | |
LOGIN_MICROSOFT_ONLINE_CLIENT_ID: ${{ secrets.LOGIN_MICROSOFT_ONLINE_CLIENT_ID }} | |
FONTS_DIRECTORY_URL: ${{ secrets.FONTS_DIRECTORY_URL }} | |
FRESHDESK_API_URL: ${{ secrets.FRESHDESK_API_URL }} | |
FRESHDESK_API_TOKEN: ${{ secrets.FRESHDESK_API_TOKEN }} | |
ANALYTICS_ENABLED: ${{ secrets.ANALYTICS_ENABLED }} | |
ANALYTICS_API_URL: ${{ secrets.ANALYTICS_API_URL }} | |
ANALYTICS_API_SITE_ID: ${{ secrets.ANALYTICS_API_SITE_ID }} | |
FEATURE_TOGGLE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_ENVIRONMENT }} | |
STATIC_CONFIGURATION_FILE_PATH: ${{ secrets.STATIC_CONFIGURATION_FILE_PATH }} | |
DEV_REDUX_LOGGER_ENABLED: ${{ secrets.DEV_REDUX_LOGGER_ENABLED }} | |
DEV_DEVICE_LOGGER_ENABLED: ${{ secrets.DEV_DEVICE_LOGGER_ENABLED }} | |
FEATURE_TOGGLE_RELEASE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_RELEASE_ENVIRONMENT }} | |
DEV_TOOLS_SHORTCUT_ENABLED: "1" | |
KOMPAKT_OS_UPDATE_DEV_TOKEN: ${{ secrets.KOMPAKT_OS_UPDATE_DEV_TOKEN }} | |
run: | | |
printenv > .env | |
- name: Setup Env for Linux | |
if: matrix.os == 'Linux' | |
env: | |
PHRASE_API_KEY: ${{ secrets.PHRASE_API_KEY }} | |
PHRASE_API_URL: ${{ secrets.PHRASE_API_URL }} | |
PHRASE_API_KEY_DEV: ${{ secrets.PHRASE_API_KEY_DEV }} | |
MUDITA_CENTER_SERVER_URL: ${{ secrets.MUDITA_CENTER_SERVER_URL }} | |
MUDITA_CENTER_SERVER_V2_URL: ${{ secrets.MUDITA_CENTER_SERVER_V2_URL }} | |
ROLLBAR_TOKEN: ${{ secrets.ROLLBAR_TOKEN }} | |
RELEASES_REPOSITORY_NAME: ${{ secrets.RELEASES_REPOSITORY_NAME }} | |
PRERELEASES_ENABLED: ${{ secrets.PRERELEASES_ENABLED }} | |
GITHUB_ACCESS_TOKEN: ${{ secrets.MC_GITHUB_ACCESS_TOKEN }} | |
LOGIN_MICROSOFT_ONLINE_CLIENT_ID: ${{ secrets.LOGIN_MICROSOFT_ONLINE_CLIENT_ID }} | |
FONTS_DIRECTORY_URL: ${{ secrets.FONTS_DIRECTORY_URL }} | |
FRESHDESK_API_URL: ${{ secrets.FRESHDESK_API_URL }} | |
FRESHDESK_API_TOKEN: ${{ secrets.FRESHDESK_API_TOKEN }} | |
ANALYTICS_ENABLED: ${{ secrets.ANALYTICS_ENABLED }} | |
ANALYTICS_API_URL: ${{ secrets.ANALYTICS_API_URL }} | |
ANALYTICS_API_SITE_ID: ${{ secrets.ANALYTICS_API_SITE_ID }} | |
FEATURE_TOGGLE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_ENVIRONMENT }} | |
STATIC_CONFIGURATION_FILE_PATH: ${{ secrets.STATIC_CONFIGURATION_FILE_PATH }} | |
DEV_REDUX_LOGGER_ENABLED: ${{ secrets.DEV_REDUX_LOGGER_ENABLED }} | |
DEV_DEVICE_LOGGER_ENABLED: ${{ secrets.DEV_DEVICE_LOGGER_ENABLED }} | |
FEATURE_TOGGLE_RELEASE_ENVIRONMENT: ${{ secrets.FEATURE_TOGGLE_RELEASE_ENVIRONMENT }} | |
DEV_TOOLS_SHORTCUT_ENABLED: "1" | |
KOMPAKT_OS_UPDATE_DEV_TOKEN: ${{ secrets.KOMPAKT_OS_UPDATE_DEV_TOKEN }} | |
run: | | |
printenv > .env | |
- name: Changing app version in packages.json for Linux | |
if: matrix.os == 'Linux' | |
run: | | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
export SOURCE_BRANCH=${{ github.head_ref }} | |
export "ENVIRONMENT_CATALOG_NAME=feature-branch/${{ github.head_ref }}" | |
export "BUILD_VERSION=-dev.${{ github.run_number }}" | |
sed -i "s/\"version\": \".*\",/\"version\": \"$APP_VERSION$BUILD_VERSION\",/" apps/mudita-center/package.json | |
- name: Changing app version in packages.json for Mac | |
if: matrix.os == 'macOS' | |
run: | | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
export SOURCE_BRANCH=${{ github.head_ref }} | |
export "ENVIRONMENT_CATALOG_NAME=feature-branch/${{ github.head_ref }}" | |
export "BUILD_VERSION=-dev.${{ github.run_number }}" | |
sed -i '' "s/\"version\": \".*\",/\"version\": \"$APP_VERSION$BUILD_VERSION\",/" apps/mudita-center/package.json | |
- name: Changing app version in packages.json for Windows | |
if: matrix.os == 'Windows' | |
run: | | |
$SOURCE_BRANCH = "${{ github.head_ref }}" | |
$ENVIRONMENT_CATALOG_NAME = "feature-branch/${{ github.head_ref }}" | |
$BUILD_VERSION = "-dev.${{ github.run_number }}" | |
$APP_VERSION = (Get-Content -Path "apps/mudita-center/version") + $BUILD_VERSION | |
(Get-Content -Path 'apps/mudita-center/package.json') | ForEach-Object { | |
$_ -replace '"version": ".*",' , "`"version`"`: `"$APP_VERSION`"," | |
} | Set-Content -Path 'apps/mudita-center/package.json' | |
- name: Setup depedencies | |
run: npm run setup | |
- name: Copy electron-builder environment file for Linux/Mac | |
if: matrix.os != 'Windows' | |
run: | | |
cp ~/actions-runner/envs/electron-builder.env apps/mudita-center/electron-builder.env | |
- name: Build App for Windows | |
if: matrix.os == 'Windows' | |
run: | | |
$env:NODE_OPTIONS="--max-old-space-size=4096" | |
$env:LOCALAPPDATA="" | |
npm run app:dist | |
- name: Build App for Linux/Mac | |
if: matrix.os != 'Windows' | |
run: | | |
export NODE_OPTIONS="--max-old-space-size=4096" | |
npm run app:dist | |
- name: Push artifacts to nexus registry from Windows | |
if: matrix.os == 'Windows' | |
env: | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
run: | | |
jq -r -j .version apps/mudita-center/package.json > apps/mudita-center/version | |
$APP_VERSION = Get-Content -Path "apps/mudita-center/version" | |
$SOURCE_BRANCH = "${{ github.head_ref }}" | |
$ENVIRONMENT_CATALOG_NAME = "feature-branch/${{ github.head_ref }}" | |
$NEXUS_USERNAME = "$env:NEXUS_USERNAME" | |
$NEXUS_PASSWORD = ConvertTo-SecureString "$env:NEXUS_PASSWORD" -AsPlainText -Force | |
$AUTH = New-Object System.Management.Automation.PSCredential ($NEXUS_USERNAME, $NEXUS_PASSWORD) | |
copy ./apps/mudita-center/release/builder-debug.yml ./apps/mudita-center/release/builder-debug-win.yml | |
Invoke-WebRequest -Uri https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$($APP_VERSION)/Mudita-Center.exe -InFile ./apps/mudita-center/release/Mudita-Center.exe -Method Put -Credential $AUTH | |
Invoke-WebRequest -Uri https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$($APP_VERSION)/Mudita-Center.exe.blockmap -InFile ./apps/mudita-center/release/Mudita-Center.exe.blockmap -Method Put -Credential $AUTH | |
Invoke-WebRequest -Uri https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$($APP_VERSION)/latest.yml -InFile ./apps/mudita-center/release/latest.yml -Method Put -Credential $AUTH | |
Invoke-WebRequest -Uri https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$($APP_VERSION)/builder-debug-win.yml -InFile ./apps/mudita-center/release/builder-debug-win.yml -Method Put -Credential $AUTH | |
- name: Push artifacts to nexus registry from Linux | |
if: matrix.os == 'Linux' | |
env: | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
run: | | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
export SOURCE_BRANCH=${{ github.head_ref }} | |
export "ENVIRONMENT_CATALOG_NAME=feature-branch/${{ github.head_ref }}" | |
cp ./apps/mudita-center/release/builder-debug.yml ./apps/mudita-center/release/builder-debug-linux.yml | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/Mudita-Center.AppImage https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/Mudita-Center.AppImage | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/latest-linux.yml https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/latest-linux.yml | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/builder-debug-linux.yml https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/builder-debug-linux.yml | |
- name: Push artifacts to nexus registry from macOS | |
if: matrix.os == 'macOS' | |
env: | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
run: | | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
export SOURCE_BRANCH=${{ github.head_ref }} | |
export "ENVIRONMENT_CATALOG_NAME=feature-branch/${{ github.head_ref }}" | |
cp ./apps/mudita-center/release/builder-debug.yml ./apps/mudita-center/release/builder-debug-mac.yml | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/Mudita-Center.dmg https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/Mudita-Center.dmg | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/Mudita-Center.zip https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/Mudita-Center.zip | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/Mudita-Center.zip.blockmap https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/Mudita-Center.zip.blockmap | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/Mudita-Center.dmg.blockmap https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/Mudita-Center.dmg.blockmap | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/latest-mac.yml https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/latest-mac.yml | |
curl -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file ./apps/mudita-center/release/builder-debug-mac.yml https://nexus.mudita.com/repository/mudita-center/releases/$ENVIRONMENT_CATALOG_NAME/$APP_VERSION/builder-debug-mac.yml |