diff --git a/.github/workflows/build-apps.yml b/.github/workflows/build-apps.yml index c4a272acf..70302b4fe 100644 --- a/.github/workflows/build-apps.yml +++ b/.github/workflows/build-apps.yml @@ -5,13 +5,14 @@ on: push: branches: - main + # TODO: remove and add main check on IS_STAGING + - pierremtb/issue6749-Change-nightly-builds-to-deploy-from-each-push-to-main-and-change-name tags: - 'v[0-9]+.[0-9]+.[0-9]+' - - 'nightly-v[0-9]+.[0-9]+.[0-9]+' env: IS_RELEASE: ${{ github.ref_type == 'tag' && startsWith(github.ref_name, 'v') }} - IS_NIGHTLY: ${{ github.ref_type == 'tag' && startsWith(github.ref_name, 'nightly-v') }} + IS_STAGING: ${{ github.event_name == 'push' }} concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} @@ -92,12 +93,16 @@ jobs: if: ${{ steps.wasm.outputs.should-build-wasm == 'true' }} run: "npm run build:wasm" - - name: Set nightly version, product name, release notes, and icons - if: ${{ env.IS_NIGHTLY == 'true' }} + - name: Set staging version, product name, release notes, and icons + if: ${{ env.IS_STAGING == 'true' }} run: | - export VERSION=${GITHUB_REF_NAME#nightly-v} + COMMIT=$(git rev-parse --short HEAD) + DATE=$(date +'%-y.%-m.%-d') + # TODO: add commit count today on main + OFFSET=1 + export VERSION=v$DATE-staging.$OFFSET-$COMMIT npm run files:set-version - npm run files:flip-to-nightly + npm run files:flip-to-staging - name: Set release version if: ${{ env.IS_RELEASE == 'true' }} @@ -177,7 +182,7 @@ jobs: - run: npm install - name: Prepare certificate and variables (Windows only) - if: ${{ (env.IS_RELEASE == 'true' || env.IS_NIGHTLY == 'true') && matrix.os == 'windows-2022' }} + if: ${{ (env.IS_RELEASE == 'true' || env.IS_STAGING == 'true') && matrix.os == 'windows-2022' }} run: | echo "${{secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12 cat /d/Certificate_pkcs12.p12 @@ -192,7 +197,7 @@ jobs: shell: bash - name: Setup certicate with SSM KSP (Windows only) - if: ${{ (env.IS_RELEASE == 'true' || env.IS_NIGHTLY == 'true') && matrix.os == 'windows-2022' }} + if: ${{ (env.IS_RELEASE == 'true' || env.IS_STAGING == 'true') && matrix.os == 'windows-2022' }} run: | curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/smtools-windows-x64.msi/download -H "x-api-key:%SM_API_KEY%" -o smtools-windows-x64.msi msiexec /i smtools-windows-x64.msi /quiet /qn @@ -202,7 +207,7 @@ jobs: smksp_cert_sync.exe smctl windows certsync # This last line `smctl windows certsync` was added after windows codesign failures started happening - # with nightly-v25.4.10. It looks like `smksp_cert_sync.exe` used to do the sync to the local cert store, + # with staging-v25.4.10. It looks like `smksp_cert_sync.exe` used to do the sync to the local cert store, # but stopped doing it overnight. This extra call that I randomly got from this azure-related doc page # https://docs.digicert.com/en/digicert-keylocker/code-signing/sign-with-third-party-signing-tools/windows-applications/sign-azure-apps-with-signtool-using-ksp-library.html#sync-certificates--windows-only--618365 # seems to be doing that extra sync that we need for scripts/sign-win.js to work. @@ -210,13 +215,13 @@ jobs: shell: cmd - name: Build the app (debug) - if: ${{ env.IS_RELEASE == 'false' && env.IS_NIGHTLY == 'false' }} + if: ${{ env.IS_RELEASE == 'false' && env.IS_STAGING == 'false' }} # electron-builder doesn't have a concept of release vs debug, # this is just not doing any codesign or release yml generation, and points to dev infra run: npm run tronb:package:dev - name: Build the app (release) - if: ${{ env.IS_RELEASE == 'true' || env.IS_NIGHTLY == 'true' }} + if: ${{ env.IS_RELEASE == 'true' || env.IS_STAGING == 'true' }} env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} @@ -236,8 +241,8 @@ jobs: name: out-arm64-${{ matrix.platform }} # first two will pick both Zoo Design Studio-$VERSION-arm64-win.exe and Zoo Design Studio-$VERSION-win.exe path: | - out/*-${{ env.VERSION_NO_V }}-win.* - out/*-${{ env.VERSION_NO_V }}-arm64-win.* + out/*-${{ env.VERSION_NO_V }}*-win.* + out/*-${{ env.VERSION_NO_V }}*-arm64-win.* out/*-arm64-mac.* out/*-arm64-linux.* @@ -250,13 +255,13 @@ jobs: out/*-x86_64-linux.* - uses: actions/upload-artifact@v4 - if: ${{ env.IS_RELEASE == 'true' || env.IS_NIGHTLY == 'true' }} + if: ${{ env.IS_RELEASE == 'true' || env.IS_STAGING == 'true' }} with: name: out-yml-${{ matrix.platform }} path: | out/latest*.yml - # TODO: add the 'Build for Mac TestFlight (nightly)' stage back + # TODO: add the 'Build for Mac TestFlight (staging)' stage back # The steps below are for updater-test builds, only on release @@ -363,8 +368,8 @@ jobs: env: NOTES: ${{ needs.prepare-files.outputs.notes }} PUB_DATE: ${{ github.event.repository.updated_at }} - WEBSITE_DIR: ${{ env.IS_NIGHTLY == 'true' && 'dl.zoo.dev/releases/modeling-app/nightly' || 'dl.zoo.dev/releases/modeling-app' }} - URL_CODED_NAME: ${{ env.IS_NIGHTLY == 'true' && 'Zoo%20Design%20Studio%20%28Nightly%29' || 'Zoo%20Design%20Studio' }} + WEBSITE_DIR: ${{ env.IS_STAGING == 'true' && 'dl.zoo.dev/releases/modeling-app/staging' || 'dl.zoo.dev/releases/modeling-app' }} + URL_CODED_NAME: ${{ env.IS_STAGING == 'true' && 'Zoo%20Design%20Studio%20%28Staging%29' || 'Zoo%20Design%20Studio' }} run: | RELEASE_DIR=https://${WEBSITE_DIR} jq --null-input \ @@ -412,38 +417,38 @@ jobs: - name: List artifacts run: "ls -R out" - - name: Set more complete nightly release notes - if: ${{ env.IS_NIGHTLY == 'true' }} + - name: Set more complete staging release notes + if: ${{ env.IS_STAGING == 'true' }} run: | # Note: preferred going this way instead of a full clone in the checkout step, # see https://github.com/actions/checkout/issues/1471 git fetch --prune --unshallow --tags - export TAG="nightly-${VERSION}" - export PREVIOUS_TAG=$(git tag --list --sort=-committerdate "nightly-v[0-9]*" | head -n2 | tail -n1) - export NOTES=$(./scripts/get-nightly-changelog.sh) + export TAG="staging-${VERSION}" + export PREVIOUS_TAG=$(git tag --list --sort=-committerdate "staging-v[0-9]*" | head -n2 | tail -n1) + export NOTES=$(./scripts/get-staging-changelog.sh) npm run files:set-notes - name: Authenticate to Google Cloud - if: ${{ env.IS_NIGHTLY == 'true' }} + if: ${{ env.IS_STAGING == 'true' }} uses: 'google-github-actions/auth@v2.1.8' with: credentials_json: '${{ secrets.GOOGLE_CLOUD_DL_SA }}' - name: Set up Google Cloud SDK - if: ${{ env.IS_NIGHTLY == 'true' }} + if: ${{ env.IS_STAGING == 'true' }} uses: google-github-actions/setup-gcloud@v2.1.4 with: project_id: ${{ env.GOOGLE_CLOUD_PROJECT_ID }} - - name: Upload nightly files to public bucket - if: ${{ env.IS_NIGHTLY == 'true' }} + - name: Upload staging files to public bucket + if: ${{ env.IS_STAGING == 'true' }} uses: google-github-actions/upload-cloud-storage@v2.2.2 with: path: out glob: '*' parent: false - destination: 'dl.kittycad.io/releases/modeling-app/nightly' + destination: 'dl.kittycad.io/releases/modeling-app/staging' - name: Invalidate bucket cache on latest*.yml and last_download.json files - if: ${{ env.IS_NIGHTLY == 'true' }} - run: npm run files:invalidate-bucket:nightly + if: ${{ env.IS_STAGING == 'true' }} + run: npm run files:invalidate-bucket:staging diff --git a/.github/workflows/tag-nightly.yml b/.github/workflows/tag-nightly.yml deleted file mode 100644 index c560af471..000000000 --- a/.github/workflows/tag-nightly.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: tag-nightly - -permissions: - contents: write -on: - schedule: - - cron: '0 4 * * *' - # Daily at 04:00 AM UTC - # Will checkout the last commit from the default branch (main as of 2023-10-04) - -jobs: - tag-nightly: - runs-on: ubuntu-22.04 - steps: - - uses: actions/create-github-app-token@v1 - id: app-token - with: - app-id: ${{ secrets.MODELING_APP_GH_APP_ID }} - private-key: ${{ secrets.MODELING_APP_GH_APP_PRIVATE_KEY }} - owner: ${{ github.repository_owner }} - - - uses: actions/checkout@v4 - with: - token: ${{ steps.app-token.outputs.token }} - - - uses: actions/setup-node@v4 - with: - node-version-file: '.nvmrc' - - - run: npm install - - - name: Push tag - run: | - VERSION_NO_V=$(date +'%-y.%-m.%-d') - TAG="nightly-v$VERSION_NO_V" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git tag $TAG - git push origin tag $TAG diff --git a/README.md b/README.md index 9a5a903fa..518976a48 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ The 3D view in Design Studio is just a video stream from our hosted geometry eng We recommend downloading the latest application binary from our [releases](https://github.com/KittyCAD/modeling-app/releases) page. If you don't see your platform or architecture supported there, please file an issue. -If you'd like to try out upcoming changes sooner, you can also download those from our [nightly releases](https://zoo.dev/modeling-app/download/nightly) page. +If you'd like to try out upcoming changes sooner, you can also download those from our [staging releases](https://zoo.dev/modeling-app/download/staging) page. ## Developing diff --git a/package.json b/package.json index 59ad40f02..c976d8509 100644 --- a/package.json +++ b/package.json @@ -117,10 +117,10 @@ "circular-deps:diff:nodejs": "npm run circular-deps:diff || node ./scripts/diff.js", "files:set-version": "echo \"$(jq --arg v \"$VERSION\" '.version=$v' package.json --indent 2)\" > package.json", "files:set-notes": "./scripts/set-files-notes.sh", - "files:flip-to-nightly": "./scripts/flip-files-to-nightly.sh", - "files:flip-to-nightly:windows": "powershell -ExecutionPolicy Bypass -File ./scripts/flip-files-to-nightly.ps1", + "files:flip-to-staging": "./scripts/flip-files-to-staging.sh", + "files:flip-to-staging:windows": "powershell -ExecutionPolicy Bypass -File ./scripts/flip-files-to-staging.ps1", "files:invalidate-bucket": "./scripts/invalidate-files-bucket.sh", - "files:invalidate-bucket:nightly": "./scripts/invalidate-files-bucket.sh --nightly", + "files:invalidate-bucket:staging": "./scripts/invalidate-files-bucket.sh --staging", "postinstall": "electron-rebuild", "generate:machine-api": "npx openapi-typescript ./openapi/machine-api.json -o src/lib/machine-api.d.ts", "generate:samples-manifest": "cd public/kcl-samples && node generate-manifest.js", diff --git a/rust/kcl-language-server-release/src/build.rs b/rust/kcl-language-server-release/src/build.rs index 0e27d288d..cb4e82681 100644 --- a/rust/kcl-language-server-release/src/build.rs +++ b/rust/kcl-language-server-release/src/build.rs @@ -42,7 +42,7 @@ impl Build { .to_string(); if !stable { - version = format!("{}-nightly", version); + version = format!("{}-staging", version); } let release_tag = if stable { @@ -53,7 +53,7 @@ impl Build { .replace("refs/tags/", "") .to_string() } else { - "nightly".to_string() + "staging".to_string() }; if stable && !release_tag.contains(&version) { diff --git a/scripts/flip-files-to-nightly.ps1 b/scripts/flip-files-to-nightly.ps1 deleted file mode 100644 index 08199d22a..000000000 --- a/scripts/flip-files-to-nightly.ps1 +++ /dev/null @@ -1,20 +0,0 @@ -$VERSION=$(Get-Date -Format "yy.M.d") -$COMMIT=$(git rev-parse --short HEAD) -$PRODUCT_NAME="Zoo Design Studio (Nightly)" - -# package.json -yq -i '.version = env(VERSION)' -p=json -o=json package.json -yq -i '.productName = env(PRODUCT_NAME)' -p=json -o=json package.json -yq -i '.name = "zoo-modeling-app-nightly"' -p=json -o=json package.json - -# electron-builder.yml -yq -i '.publish[0].url = "https://dl.zoo.dev/releases/modeling-app/nightly"' electron-builder.yml -yq -i '.appId = "dev.zoo.modeling-app-nightly"' electron-builder.yml -yq -i '.nsis.include = "./scripts/installer-nightly.nsh"' electron-builder.yml - -# Release notes -echo "Nightly build $VERSION (commit $COMMIT)" > release-notes.md - -# icons -cp assets/icon-nightly.png assets/icon.png -cp assets/icon-nightly.ico assets/icon.ico diff --git a/scripts/flip-files-to-nightly.sh b/scripts/flip-files-to-nightly.sh deleted file mode 100755 index a4c90490f..000000000 --- a/scripts/flip-files-to-nightly.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -export COMMIT=$(git rev-parse --short HEAD) - -# package.json -PACKAGE=$(jq '.productName="Zoo Design Studio (Nightly)" | .name="zoo-modeling-app-nightly"' package.json --indent 2) -echo "$PACKAGE" > package.json - -# electron-builder.yml -yq -i '.publish[0].url = "https://dl.zoo.dev/releases/modeling-app/nightly"' electron-builder.yml -yq -i '.appId = "dev.zoo.modeling-app-nightly"' electron-builder.yml -yq -i '.nsis.include = "./scripts/installer-nightly.nsh"' electron-builder.yml - -# Release notes -echo "Nightly build (commit $COMMIT)" > release-notes.md - -# icons -cp assets/icon-nightly.png assets/icon.png -cp assets/icon-nightly.ico assets/icon.ico diff --git a/scripts/flip-files-to-staging.ps1 b/scripts/flip-files-to-staging.ps1 new file mode 100644 index 000000000..009ea169a --- /dev/null +++ b/scripts/flip-files-to-staging.ps1 @@ -0,0 +1,20 @@ +$COMMIT=$(git rev-parse --short HEAD) +$VERSION=$(Get-Date -Format "yy.M.d-staging.1-$COMMIT") +$PRODUCT_NAME="Zoo Design Studio (Staging)" + +# package.json +yq -i '.version = env(VERSION)' -p=json -o=json package.json +yq -i '.productName = env(PRODUCT_NAME)' -p=json -o=json package.json +yq -i '.name = "zoo-modeling-app-staging"' -p=json -o=json package.json + +# electron-builder.yml +yq -i '.publish[0].url = "https://dl.zoo.dev/releases/modeling-app/staging"' electron-builder.yml +yq -i '.appId = "dev.zoo.modeling-app-staging"' electron-builder.yml +yq -i '.nsis.include = "./scripts/installer-staging.nsh"' electron-builder.yml + +# Release notes +echo "Staging build $VERSION (commit $COMMIT)" > release-notes.md + +# icons +cp assets/icon-staging.png assets/icon.png +cp assets/icon-staging.ico assets/icon.ico diff --git a/scripts/flip-files-to-staging.sh b/scripts/flip-files-to-staging.sh new file mode 100755 index 000000000..1392031c7 --- /dev/null +++ b/scripts/flip-files-to-staging.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +export COMMIT=$(git rev-parse --short HEAD) + +# package.json +PACKAGE=$(jq '.productName="Zoo Design Studio (Staging)" | .name="zoo-modeling-app-staging"' package.json --indent 2) +echo "$PACKAGE" > package.json + +# electron-builder.yml +yq -i '.publish[0].url = "https://dl.zoo.dev/releases/modeling-app/staging"' electron-builder.yml +yq -i '.appId = "dev.zoo.modeling-app-staging"' electron-builder.yml +yq -i '.nsis.include = "./scripts/installer-staging.nsh"' electron-builder.yml + +# Release notes +echo "Staging build (commit $COMMIT)" > release-notes.md + +# icons +cp assets/icon-staging.png assets/icon.png +cp assets/icon-staging.ico assets/icon.ico diff --git a/scripts/installer-nightly.nsh b/scripts/installer-staging.nsh similarity index 59% rename from scripts/installer-nightly.nsh rename to scripts/installer-staging.nsh index 9f8ebd528..1787e87b8 100644 --- a/scripts/installer-nightly.nsh +++ b/scripts/installer-staging.nsh @@ -1,8 +1,8 @@ !macro preInit SetRegView 64 - WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Nightly)" - WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Nightly)" + WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Staging)" + WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Staging)" SetRegView 32 - WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Nightly)" - WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Nightly)" + WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Staging)" + WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "C:\Program Files\Zoo Design Studio (Staging)" !macroend \ No newline at end of file diff --git a/scripts/invalidate-files-bucket.sh b/scripts/invalidate-files-bucket.sh index 1be90b8e8..ac11f8ac5 100755 --- a/scripts/invalidate-files-bucket.sh +++ b/scripts/invalidate-files-bucket.sh @@ -1,7 +1,7 @@ #!/bin/bash base_dir="/releases/modeling-app" -if [[ $1 = "--nightly" ]]; then - base_dir="/releases/modeling-app/nightly" +if [[ $1 = "--staging" ]]; then + base_dir="/releases/modeling-app/staging" fi echo "Invalidating json and yml files at $base_dir in the download bucket" diff --git a/src/components/Settings/AllSettingsFields.tsx b/src/components/Settings/AllSettingsFields.tsx index 5f9781a64..03a27d297 100644 --- a/src/components/Settings/AllSettingsFields.tsx +++ b/src/components/Settings/AllSettingsFields.tsx @@ -30,7 +30,7 @@ import { settingsActor, useSettings, } from '@src/lib/singletons' -import { APP_VERSION, IS_NIGHTLY, getReleaseUrl } from '@src/routes/utils' +import { APP_VERSION, IS_STAGING, getReleaseUrl } from '@src/routes/utils' import { acceptOnboarding, catchOnboardingWarnError, @@ -276,25 +276,6 @@ export const AllSettingsFields = forwardRef( , and start a discussion if you don't see it! Your feedback will help us prioritize what to build next.
- {!IS_NIGHTLY && ( -- Want to experience the latest and (hopefully) greatest from our - main development branch?{' '} - - Click here to grab Zoo Design Studio (Nightly) - - . It can be installed side-by-side with the stable version - you're running now. But careful there, a lot less testing is - involved in their release 🤖. -
- )} diff --git a/src/lib/createMachineCommand.ts b/src/lib/createMachineCommand.ts index a1f99ffef..1d00573fd 100644 --- a/src/lib/createMachineCommand.ts +++ b/src/lib/createMachineCommand.ts @@ -16,7 +16,7 @@ import type { StateMachineCommandSetSchema, } from '@src/lib/commandTypes' import { isDesktop } from '@src/lib/isDesktop' -import { IS_NIGHTLY_OR_DEBUG } from '@src/routes/utils' +import { IS_STAGING_OR_DEBUG } from '@src/routes/utils' interface CreateMachineCommandProps< T extends AnyStateMachine, @@ -86,7 +86,7 @@ export function createMachineCommand< } else if ('status' in commandConfig) { const { status } = commandConfig if (status === 'inactive') return null - if (status === 'development' && !(DEV || IS_NIGHTLY_OR_DEBUG)) return null + if (status === 'development' && !(DEV || IS_STAGING_OR_DEBUG)) return null } const icon = ('icon' in commandConfig && commandConfig.icon) || undefined diff --git a/src/lib/desktop.ts b/src/lib/desktop.ts index 12d71ebc2..b616cbcb6 100644 --- a/src/lib/desktop.ts +++ b/src/lib/desktop.ts @@ -25,7 +25,7 @@ import type { FileEntry, Project } from '@src/lib/project' import { err } from '@src/lib/trap' import type { DeepPartial } from '@src/lib/types' import { getInVariableCase } from '@src/lib/utils' -import { IS_NIGHTLY } from '@src/routes/utils' +import { IS_STAGING } from '@src/routes/utils' export async function renameProjectDirectory( projectPath: string, @@ -453,8 +453,8 @@ export async function writeProjectSettingsFile( // Important for saving settings. // TODO: should be pulled from electron-builder.yml -const APP_ID = IS_NIGHTLY - ? 'dev.zoo.modeling-app-nightly' +const APP_ID = IS_STAGING + ? 'dev.zoo.modeling-app-staging' : 'dev.zoo.modeling-app' const getAppFolderName = () => { @@ -462,7 +462,7 @@ const getAppFolderName = () => { return APP_ID } // TODO: we need to make linux use the same convention this is weird - // This variable below gets the -nightly suffix on nightly too thru scripts/flip-files-to-nightly.sh + // This variable below gets the -staging suffix on staging too thru scripts/flip-files-to-staging.sh // But it should be consistent with the reserve domain app id we use on Windows and Linux return window.electron.packageJson.name } diff --git a/src/routes/Onboarding/BrowserOnboardingRoutes.tsx b/src/routes/Onboarding/BrowserOnboardingRoutes.tsx index 456ca1a5c..7b094acad 100644 --- a/src/routes/Onboarding/BrowserOnboardingRoutes.tsx +++ b/src/routes/Onboarding/BrowserOnboardingRoutes.tsx @@ -469,9 +469,9 @@ function OnboardingConclusion() { We highly encourage you to{' '} diff --git a/src/routes/SignIn.tsx b/src/routes/SignIn.tsx index fd14429ef..11341c38b 100644 --- a/src/routes/SignIn.tsx +++ b/src/routes/SignIn.tsx @@ -15,7 +15,7 @@ import { Themes, getSystemTheme } from '@src/lib/theme' import { reportRejection } from '@src/lib/trap' import { toSync } from '@src/lib/utils' import { authActor, useSettings } from '@src/lib/singletons' -import { APP_VERSION, IS_NIGHTLY } from '@src/routes/utils' +import { APP_VERSION } from '@src/routes/utils' const subtleBorder = 'border border-solid border-chalkboard-30 dark:border-chalkboard-80' @@ -106,7 +106,7 @@ const SignIn = () => {diff --git a/src/routes/utils.ts b/src/routes/utils.ts index 441bc164a..c486fd795 100644 --- a/src/routes/utils.ts +++ b/src/routes/utils.ts @@ -16,13 +16,13 @@ export const PACKAGE_NAME = isDesktop() ? window.electron.packageJson.name : 'zoo-modeling-app' -export const IS_NIGHTLY = PACKAGE_NAME.indexOf('-nightly') > -1 +export const IS_STAGING = PACKAGE_NAME.indexOf('-staging') > -1 -export const IS_NIGHTLY_OR_DEBUG = - IS_NIGHTLY || APP_VERSION === '0.0.0' || APP_VERSION === '11.22.33' +export const IS_STAGING_OR_DEBUG = + IS_STAGING || APP_VERSION === '0.0.0' || APP_VERSION === '11.22.33' export function getReleaseUrl(version: string = APP_VERSION) { return `https://github.com/KittyCAD/modeling-app/releases/tag/${ - IS_NIGHTLY ? 'nightly-' : '' + IS_STAGING ? 'staging-' : '' }v${version}` }