[CP-3086] Fixed chunks joining for backup files (#2051) #31
Workflow file for this run
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 mock production | |
on: | |
push: | |
tags: | |
- "*" | |
jobs: | |
build: | |
if: github.event.base_ref == 'refs/heads/main' | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [Linux, Windows, macOS] | |
environment: production | |
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 }} | |
MUDITA_CENTER_PRERELEASE_ENABLED: ${{ secrets.MUDITA_CENTER_PRERELEASE_ENABLED }} | |
DEV_TOOLS_SHORTCUT_ENABLED: "1" | |
LOCALAPPDATA: "" | |
MOCK_SERVICE_ENABLED: "1" | |
shell: cmd | |
run: | | |
SET > .env | |
jq -r -j .version apps/mudita-center/package.json > apps/mudita-center/version | |
- name: Setup Env for MacOS and Linux | |
if: matrix.os != 'Windows' | |
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 }} | |
MUDITA_CENTER_PRERELEASE_ENABLED: ${{ secrets.MUDITA_CENTER_PRERELEASE_ENABLED }} | |
DEV_TOOLS_SHORTCUT_ENABLED: "1" | |
MOCK_SERVICE_ENABLED: "1" | |
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 BUILD_VERSION=-mock | |
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 BUILD_VERSION=-mock | |
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: | | |
$BUILD_VERSION = "-mock" | |
$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 Windows | |
# if: matrix.os == 'Windows' | |
# run: | | |
# copy C:\actions-runner\envs\electron-builder.env apps/mudita-center/electron-builder.env | |
- 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: Verify apple sign | |
if: matrix.os == 'macOS' | |
run: | | |
codesign -v -v apps/mudita-center/release/mac/Mudita\ Center.app | |
- name: Signing via Digicert | |
if: matrix.os == 'Windows' | |
env: | |
SM_HOST: ${{ secrets.SM_HOST }} | |
SM_API_KEY: ${{ secrets.SM_API_KEY }} | |
SM_CLIENT_CERT_FILE: "C:\\actions-runner\\certs\\Certificate_pkcs12.p12" | |
SM_CLIENT_CERT_PASSWORD: ${{ secrets.SM_CLIENT_CERT_PASSWORD }} | |
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{ secrets.SM_CODE_SIGNING_CERT_SHA1_HASH }} | |
run: | | |
SET SM_HOST=%SM_HOST% | |
SET SM_API_KEY=%SM_API_KEY% | |
SET SM_CLIENT_CERT_FILE=%SM_CLIENT_CERT_FILE% | |
SET SM_CLIENT_CERT_PASSWORD=%SM_CLIENT_CERT_PASSWORD% | |
SET SM_CODE_SIGNING_CERT_SHA1_HASH=%SM_CODE_SIGNING_CERT_SHA1_HASH% | |
SET PATH=%PATH%;"C:\Program Files\DigiCert\DigiCert One Signing Manager Tools" | |
SET PATH=%PATH%;"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64" | |
signtool.exe sign /sha1 %SM_CODE_SIGNING_CERT_SHA1_HASH% /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 ./apps/mudita-center/release/Mudita-Center.exe | |
shell: cmd | |
- name: Push artifacts to nexus registry from Windows | |
if: matrix.os == 'Windows' | |
env: | |
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
run: | | |
$BUILD_VERSION = "-mock" | |
$APP_VERSION = (Get-Content -Path "apps/mudita-center/version") + $BUILD_VERSION | |
$ENVIRONMENT_CATALOG_NAME="mock-production" | |
echo "GITTAG=$($APP_VERSION)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
$GITTAG = "$($APP_VERSION)" | |
$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 | |
C:\"Program Files"\Git\cmd\git.exe clone https://${{ secrets.MC_GITHUB_ACCESS_TOKEN }}@github.com/mudita/mudita-center.git | |
cd mudita-center | |
C:\"Program Files"\Git\cmd\git.exe tag "$GITTAG" | |
C:\"Program Files"\Git\cmd\git.exe push origin "$GITTAG" | |
- 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 ENVIRONMENT_CATALOG_NAME=mock-production | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
echo "GITTAG=$APP_VERSION" >> $GITHUB_ENV | |
export GITTAG="$APP_VERSION" | |
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 | |
git clone https://${{ secrets.MC_GITHUB_ACCESS_TOKEN }}@github.com/mudita/mudita-center.git | |
cd mudita-center | |
git tag "$GITTAG" 2>&1 || true | |
git push origin "$GITTAG" | |
- 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 ENVIRONMENT_CATALOG_NAME=mock-production | |
export APP_VERSION=`cat apps/mudita-center/package.json | jq -r .version` | |
echo "GITTAG=$APP_VERSION" >> $GITHUB_ENV | |
export GITTAG="$APP_VERSION" | |
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 | |
git clone https://${{ secrets.MC_GITHUB_ACCESS_TOKEN }}@github.com/mudita/mudita-center.git | |
cd mudita-center | |
git tag "$GITTAG" 2>&1 || true | |
git push origin "$GITTAG" |