Release Mezon App for Linux #799
This file contains hidden or 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: Release Mezon App for Linux | |
| permissions: | |
| contents: read | |
| on: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| jobs: | |
| release: | |
| runs-on: mezon-build-linux | |
| name: Release Mezon App for Linux | |
| environment: prod | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '24.5.0' | |
| - name: Install package | |
| run: | | |
| export nv=$(node -v) | |
| echo "Node version: $nv" | |
| echo "Installing dependencies" | |
| yarn config set nodedir ~/.cache/node-gyp/20.18.1/ | |
| echo "Node directory: ${nv:1}" | |
| yarn | |
| - name: Reset Nx cache | |
| run: | | |
| echo "Resetting Nx cache" | |
| yarn nx reset | |
| - name: Remove ENV | |
| run: | | |
| rm -rf apps/desktop/src/assets/mac-icon.png | |
| rm -rf apps/chat/.env | |
| cd apps/chat/src/assets/ | |
| find . -maxdepth 1 -type f -name "*.png" ! -name "button_openmezon.png" -delete | |
| - name: Create ENV | |
| uses: SpicyPizza/create-envfile@v2.0 | |
| with: | |
| directory: apps/chat | |
| envkey_NX_CHAT_APP_API_HOST: ${{ secrets.NX_CHAT_APP_API_HOST_PROD }} | |
| envkey_NX_CHAT_APP_API_PORT: ${{ secrets.NX_CHAT_APP_API_PORT_PROD }} | |
| envkey_NX_CHAT_APP_API_KEY: ${{ secrets.NX_CHAT_APP_API_KEY_PROD }} | |
| envkey_NX_CHAT_APP_API_SECURE: ${{ secrets.NX_CHAT_APP_API_SECURE_PROD }} | |
| envkey_NX_CHAT_APP_GOOGLE_CLIENT_ID: ${{ secrets.NX_CHAT_APP_GOOGLE_CLIENT_ID_PROD }} | |
| envkey_NX_CHAT_APP_REDIRECT_URI: ${{ secrets.NX_CHAT_APP_REDIRECT_URI_PROD }} | |
| envkey_NX_CHAT_APP_FCM_API_KEY: ${{ secrets.NX_CHAT_APP_FCM_API_KEY_PROD }} | |
| envkey_NX_CHAT_APP_FCM_AUTH_DOMAIN: ${{ secrets.NX_CHAT_APP_FCM_AUTH_DOMAIN_PROD }} | |
| envkey_NX_CHAT_APP_FCM_PROJECT_ID: ${{ secrets.NX_CHAT_APP_FCM_PROJECT_ID_PROD }} | |
| envkey_NX_CHAT_APP_FCM_STORAGE_BUCKET: ${{ secrets.NX_CHAT_APP_FCM_STORAGE_BUCKET_PROD }} | |
| envkey_NX_CHAT_APP_FCM_MESSAGING_SENDER_ID: ${{ secrets.NX_CHAT_APP_FCM_MESSAGING_SENDER_ID_PROD }} | |
| envkey_NX_CHAT_APP_FCM_APP_ID: ${{ secrets.NX_CHAT_APP_FCM_APP_ID_PROD }} | |
| envkey_NX_CHAT_APP_FCM_MEASUREMENT_ID: ${{ secrets.NX_CHAT_APP_FCM_MEASUREMENT_ID_PROD }} | |
| envkey_NX_CHAT_APP_FCM_VAPID_KEY: ${{ secrets.NX_CHAT_APP_FCM_VAPID_KEY_PROD }} | |
| envkey_NX_CHAT_APP_API_TENOR_KEY: ${{ secrets.NX_CHAT_APP_API_TENOR_KEY_PROD }} | |
| envkey_NX_CHAT_APP_API_CLIENT_KEY_CUSTOM: ${{ secrets.NX_CHAT_APP_API_CLIENT_KEY_CUSTOM_PROD }} | |
| envkey_NX_CHAT_SENTRY_DNS: ${{ secrets.NX_CHAT_SENTRY_DNS_PROD }} | |
| envkey_NX_CHAT_APP_ANNONYMOUS_USER_ID: ${{ secrets.NX_CHAT_APP_ANNONYMOUS_USER_ID_PROD }} | |
| envkey_NX_CHAT_APP_NOTIFICATION_WS_URL: ${{ secrets.NX_CHAT_APP_NOTIFICATION_WS_URL_PROD }} | |
| envkey_NX_CHAT_SENTRY_DSN: ${{ secrets.NX_CHAT_SENTRY_DSN_PROD }} | |
| envkey_NX_IMGPROXY_BASE_URL: ${{ secrets.NX_IMGPROXY_BASE_URL }} | |
| envkey_NX_IMGPROXY_KEY: ${{ secrets.NX_IMGPROXY_KEY }} | |
| envkey_NX_WEBRTC_ICESERVERS_URL: ${{ secrets.NX_WEBRTC_ICESERVERS_URL_PROD }} | |
| envkey_NX_WEBRTC_ICESERVERS_USERNAME: ${{ secrets.NX_WEBRTC_ICESERVERS_USERNAME_PROD }} | |
| envkey_NX_WEBRTC_ICESERVERS_CREDENTIAL: ${{ secrets.NX_WEBRTC_ICESERVERS_CREDENTIAL_PROD }} | |
| envkey_NX_CHAT_APP_STREAM_WS_URL: ${{ secrets.NX_CHAT_APP_STREAM_WS_URL }} | |
| envkey_NX_CHAT_APP_MEET_WS_URL: ${{ secrets.NX_CHAT_APP_MEET_WS_URL }} | |
| envkey_NX_CHAT_APP_OAUTH2_AUTHORIZE_URL: ${{ secrets.NX_CHAT_APP_OAUTH2_AUTHORIZE_URL }} | |
| envkey_NX_CHAT_APP_OAUTH2_CLIENT_ID: ${{ secrets.NX_CHAT_APP_OAUTH2_CLIENT_ID }} | |
| envkey_NX_CHAT_APP_OAUTH2_REDIRECT_URI: ${{ secrets.NX_CHAT_APP_OAUTH2_REDIRECT_URI }} | |
| envkey_NX_CHAT_APP_OAUTH2_RESPONSE_TYPE: ${{ secrets.NX_CHAT_APP_OAUTH2_RESPONSE_TYPE }} | |
| envkey_NX_CHAT_APP_OAUTH2_SCOPE: ${{ secrets.NX_CHAT_APP_OAUTH2_SCOPE }} | |
| envkey_NX_CHAT_APP_OAUTH2_CODE_CHALLENGE_METHOD: ${{ secrets.NX_CHAT_APP_OAUTH2_CODE_CHALLENGE_METHOD }} | |
| envkey_NX_CHAT_APP_API_TENOR_URL_CATEGORIES: https://tenor.googleapis.com/v2/categories?key= | |
| envkey_NX_CHAT_APP_API_TENOR_URL_SEARCH: https://tenor.googleapis.com/v2/search?q= | |
| envkey_NX_CHAT_APP_API_TENOR_URL_FEATURED: https://tenor.googleapis.com/v2/featured?key= | |
| envkey_NX_MAX_LENGTH_NAME_ALLOWED: 64 | |
| envkey_NX_LOGO_MEZON: https://cdn.mezon.ai/images/mezon_logo.png | |
| envkey_NX_BASE_IMG_URL: https://cdn.mezon.ai | |
| envkey_NX_PROFILE_IMG_URL: https://profile.mezon.ai | |
| envkey_NX_CHAT_APP_OAUTH2_LOG_OUT_CALLBACK: https://mezon.ai/logout/callback | |
| envkey_NX_CHAT_APP_OAUTH2_LOG_OUT: https://oauth2.mezon.ai/oauth2/sessions/logout | |
| envkey_NX_CLI_SET: true | |
| envkey_NX_LOAD_DOT_ENV_FILES: true | |
| envkey_NX_TASK_TARGET_PROJECT: chat | |
| envkey_NX_TASK_TARGET_TARGET: build | |
| envkey_NX_TASK_TARGET_CONFIGURATION: production | |
| envkey_NX_CHAT_APP_API_GW_HOST: ${{ secrets.NX_CHAT_APP_API_GW_HOST }} | |
| envkey_NX_CHAT_APP_API_GW_PORT: ${{ secrets.NX_CHAT_APP_API_GW_PORT }} | |
| envkey_NX_DOMAIN_URL: https://mezon.ai | |
| envkey_NX_CHAT_APP_MMN_API_URL: https://dong.mezon.ai/mmn-api | |
| envkey_NX_CHAT_APP_INDEXER_API_URL: https://dong.mezon.ai/indexer-api | |
| envkey_NX_CHAT_APP_ZK_API_URL: https://dong.mezon.ai/zk-api | |
| envkey_NX_OGP_URL: https://ogp.mezon.ai/ogp | |
| - name: Release Desktop | |
| run: | | |
| yarn release:desktop | |
| env: | |
| USE_HARD_LINKS: false | |
| - name: Push to MinIO | |
| run: | | |
| mc cp dist/executables/latest-linux.yml mezon/mezon/release/latest-linux.yml | |
| mc cp dist/executables/mezon-*-linux-amd64.deb mezon/mezon/release/ |