Compare commits
	
		
			46 Commits
		
	
	
		
			dev
			...
			pierremtb/
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 233d79e84d | |||
| 754abd0407 | |||
| afeb6ebb87 | |||
| e5aeb92258 | |||
| e9ecdb5b8b | |||
| 45cc51c6dc | |||
| 63178bbc76 | |||
| bc8788b2e9 | |||
| c3a3f1d6ce | |||
| 912df5f859 | |||
| b50891a28f | |||
| 4711b57028 | |||
| 2179a3728c | |||
| a185005f5c | |||
| 21c72073a9 | |||
| fe21d66c0d | |||
| e4567b43f8 | |||
| 90e7741e47 | |||
| a60f0d1355 | |||
| 9e336b4654 | |||
| bef7467703 | |||
| 6444fe50e7 | |||
| 93c7a6a293 | |||
| eaadc0e39e | |||
| 933850e13b | |||
| 07b9401f2d | |||
| dc5277c48b | |||
| 3a4e323c45 | |||
| bbe4f50b17 | |||
| e376e397db | |||
| c7c747a109 | |||
| dd3d604924 | |||
| b19e89effc | |||
| 416002e84a | |||
| 5c3571226b | |||
| d9eead1641 | |||
| 468e86a864 | |||
| 3f977c7bf9 | |||
| 7d7572b36a | |||
| e05bce6145 | |||
| c58c0e7089 | |||
| 83ece965d9 | |||
| de7e958e22 | |||
| 1beadc063d | |||
| 3bc2a00f4e | |||
| 0f256ea6c5 | 
| @ -1,4 +1,4 @@ | ||||
| name: CI | ||||
| name: build-test-publish-apps | ||||
| 
 | ||||
| on: | ||||
|   pull_request: | ||||
| @ -21,75 +21,8 @@ concurrency: | ||||
|   cancel-in-progress: true | ||||
| 
 | ||||
| jobs: | ||||
|   check-format: | ||||
|     runs-on: 'ubuntu-latest' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
|       - run: yarn install | ||||
|       - run: yarn fmt-check | ||||
| 
 | ||||
|   check-types: | ||||
|     runs-on: ubuntu-latest | ||||
| 
 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
|       - run: yarn install | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
| 
 | ||||
|       - run: yarn build:wasm | ||||
|       - run: yarn xstate:typegen | ||||
|       - run: yarn tsc | ||||
| 
 | ||||
| 
 | ||||
|   check-typos: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v5 | ||||
|       - name: Install codespell | ||||
|         run: | | ||||
|             python -m pip install codespell | ||||
|       - name: Run codespell | ||||
|         run: codespell --config .codespellrc # Edit this file to tweak the typo list and other configuration. | ||||
| 
 | ||||
| 
 | ||||
|   build-test-web: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
| 
 | ||||
|       - run: yarn install | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
| 
 | ||||
|       - run: yarn build:wasm | ||||
| 
 | ||||
|       - run: yarn simpleserver:ci | ||||
| 
 | ||||
|       - run: yarn test:nowatch | ||||
| 
 | ||||
| 
 | ||||
|   prepare-json-files: | ||||
|     runs-on: ubuntu-latest  # seperate job on Ubuntu for easy string manipulations (compared to Windows) | ||||
|     runs-on: ubuntu-22.04  # seperate job on Ubuntu for easy string manipulations (compared to Windows) | ||||
|     outputs: | ||||
|       version: ${{ steps.export_version.outputs.version }} | ||||
|     steps: | ||||
| @ -114,7 +47,7 @@ jobs: | ||||
|       - name: Set updater test version | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         run: | | ||||
|           echo "$(jq --arg url 'https://dl.zoo.dev/releases/modeling-app/test/last_update.json' \ | ||||
|           echo "$(jq --arg url 'https://dl.zoo.dev/releases/modeling-app/updater-test/last_update.json' \ | ||||
|             '.plugins.updater.endpoints[]=$url' src-tauri/tauri.release.conf.json --indent 2)" > src-tauri/tauri.release.conf.json | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
| @ -129,18 +62,9 @@ jobs: | ||||
|         run: echo "version=`cat package.json | jq -r '.version'`" >> "$GITHUB_OUTPUT" | ||||
| 
 | ||||
| 
 | ||||
|   build-test-apps: | ||||
|   build-test-app-macos: | ||||
|     needs: [prepare-json-files] | ||||
|     runs-on: ${{ matrix.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         os: [macos-14, ubuntu-latest, windows-latest] | ||||
|     env: | ||||
|       # Specific Apple Universal target for macos | ||||
|       TAURI_ARGS_MACOS: ${{ matrix.os == 'macos-14' && '--target universal-apple-darwin' || '' }} | ||||
|       # Only build executable on linux (no appimage or deb) | ||||
|       TAURI_ARGS_UBUNTU: ${{ matrix.os == 'ubuntu-latest' && '--bundles' || '' }} | ||||
|     runs-on: macos-14 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
| 
 | ||||
| @ -155,28 +79,6 @@ jobs: | ||||
|           cp artifact/src-tauri/tauri.conf.json src-tauri/tauri.conf.json | ||||
|           cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json | ||||
| 
 | ||||
|       - name: Update WebView2 on Windows | ||||
|         if: matrix.os == 'windows-latest' | ||||
|         # Workaround needed to build the tauri windows app with matching edge version. | ||||
|         # From https://github.com/actions/runner-images/issues/9538 | ||||
|         run: | | ||||
|           Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/p/?LinkId=2124703' -OutFile 'setup.exe' | ||||
|           Start-Process -FilePath setup.exe -Verb RunAs -Wait | ||||
| 
 | ||||
|       - name: Install ubuntu system dependencies | ||||
|         if: matrix.os == 'ubuntu-latest' | ||||
|         run: | | ||||
|           sudo apt-get update | ||||
|           sudo apt-get install -y \ | ||||
|             libgtk-3-dev \ | ||||
|             libayatana-appindicator3-dev \ | ||||
|             webkit2gtk-driver \ | ||||
|             libsoup-3.0-dev \ | ||||
|             libjavascriptcoregtk-4.1-dev \ | ||||
|             libwebkit2gtk-4.1-dev \ | ||||
|             at-spi2-core \ | ||||
|             xvfb | ||||
| 
 | ||||
|       - name: Sync node version and setup cache | ||||
|         uses: actions/setup-node@v4 | ||||
|         with: | ||||
| @ -197,60 +99,25 @@ jobs: | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
| 
 | ||||
|       - name: Run build:wasm manually | ||||
|         shell: bash | ||||
|         env: | ||||
|           MODE: ${{ env.BUILD_RELEASE == 'true' && '--release' || '--debug' }} | ||||
|         run: | | ||||
|           mkdir src/wasm-lib/pkg; cd src/wasm-lib | ||||
|           echo "building with ${{ env.MODE }}" | ||||
|           npx wasm-pack build --target web --out-dir pkg ${{ env.MODE }} | ||||
|           cd ../../ | ||||
|           cp src/wasm-lib/pkg/wasm_lib_bg.wasm public | ||||
|       - name: Run build:wasm | ||||
|         run: "yarn build:wasm${{ env.BUILD_RELEASE == 'true' && '-dev' || ''}}" | ||||
| 
 | ||||
|       - name: Run vite build (build:both) | ||||
|       - name: Run vite build | ||||
|         run: yarn vite build --mode ${{ env.BUILD_RELEASE == 'true' && 'production' || 'development' }} | ||||
| 
 | ||||
|       - name: Fix format | ||||
|         run: yarn fmt | ||||
| 
 | ||||
|       - name: Install x86 target for Universal builds (MacOS only) | ||||
|         if: matrix.os == 'macos-14' | ||||
|       - name: Install x86 target for Universal builds | ||||
|         run: | | ||||
|           rustup target add x86_64-apple-darwin | ||||
| 
 | ||||
|       - name: Prepare certificate and variables (Windows only) | ||||
|         if: ${{ matrix.os == 'windows-latest' && env.BUILD_RELEASE == 'true' }} | ||||
|         run: | | ||||
|           echo "${{secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12 | ||||
|           cat /d/Certificate_pkcs12.p12 | ||||
|           echo "::set-output name=version::${GITHUB_REF#refs/tags/v}" | ||||
|           echo "SM_HOST=${{ secrets.SM_HOST }}" >> "$GITHUB_ENV" | ||||
|           echo "SM_API_KEY=${{ secrets.SM_API_KEY }}" >> "$GITHUB_ENV" | ||||
|           echo "SM_CLIENT_CERT_FILE=D:\\Certificate_pkcs12.p12" >> "$GITHUB_ENV" | ||||
|           echo "SM_CLIENT_CERT_PASSWORD=${{ secrets.SM_CLIENT_CERT_PASSWORD }}" >> "$GITHUB_ENV" | ||||
|           echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH | ||||
|           echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH | ||||
|           echo "C:\Program Files\DigiCert\DigiCert One Signing Manager Tools" >> $GITHUB_PATH | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Setup certicate with SSM KSP (Windows only) | ||||
|         if: ${{ matrix.os == 'windows-latest' && env.BUILD_RELEASE == 'true' }} | ||||
|         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 | ||||
|           smksp_registrar.exe list | ||||
|           smctl.exe keypair ls | ||||
|           C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user | ||||
|           smksp_cert_sync.exe | ||||
|         shell: cmd | ||||
| 
 | ||||
|       - name: Build the app (debug) | ||||
|         if: ${{ env.BUILD_RELEASE == 'false' }} | ||||
|         run: "yarn tauri build --debug ${{ env.TAURI_ARGS_MACOS }} ${{ env.TAURI_ARGS_UBUNTU }}" | ||||
|         run: "yarn tauri build --debug --target universal-apple-darwin" | ||||
| 
 | ||||
|       - name: Build for Mac TestFlight (nightly) | ||||
|         if: ${{ github.event_name == 'schedule' && matrix.os == 'macos-14' }} | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         shell: bash | ||||
|         run: | | ||||
|           unset APPLE_SIGNING_IDENTITY | ||||
| @ -314,7 +181,7 @@ jobs: | ||||
| 
 | ||||
|       - name: 'Upload to Mac TestFlight (nightly)' | ||||
|         uses: apple-actions/upload-testflight-build@v1 | ||||
|         if: ${{ github.event_name == 'schedule' && matrix.os == 'macos-14' }} | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         with: | ||||
|           app-path: 'src-tauri/target/universal-apple-darwin/release/bundle/macos/Zoo Modeling App.pkg' | ||||
|           issuer-id: ${{ secrets.APPLE_STORE_ISSUER_ID }} | ||||
| @ -324,7 +191,7 @@ jobs: | ||||
| 
 | ||||
| 
 | ||||
|       - name: Clean up after Mac TestFlight (nightly) | ||||
|         if: ${{ github.event_name == 'schedule' && matrix.os == 'macos-14' }} | ||||
|         if: ${{ github.event_name == 'schedule' }} | ||||
|         shell: bash | ||||
|         run: | | ||||
|           git status | ||||
| @ -350,35 +217,165 @@ jobs: | ||||
|           APPLE_ID: ${{ secrets.APPLE_ID }} | ||||
|           APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | ||||
|           APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | ||||
|           TAURI_CONF_ARGS: "--config ${{ matrix.os == 'windows-latest' && 'src-tauri\\tauri.release.conf.json' || 'src-tauri/tauri.release.conf.json' }}" | ||||
|         run: "yarn tauri build ${{ env.TAURI_CONF_ARGS }} ${{ env.TAURI_ARGS_MACOS }} ${{ env.TAURI_ARGS_UBUNTU }}" | ||||
|         run: "yarn tauri build --config src-tauri/tauri.release.conf.json --target universal-apple-darwin" | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         if: matrix.os != 'ubuntu-latest' | ||||
|         env: | ||||
|           PREFIX: ${{ matrix.os == 'macos-14' && 'src-tauri/target/universal-apple-darwin' || 'src-tauri/target' }} | ||||
|           MODE: ${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }} | ||||
|         with: | ||||
|           path: "${{ env.PREFIX }}/${{ env.MODE }}/bundle/*/*" | ||||
|           path: "src-tauri/target/universal-apple-darwin/${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}/bundle/*/*" | ||||
| 
 | ||||
|       - name: Run e2e tests (linux only) | ||||
|         if: ${{ matrix.os == 'ubuntu-latest' && github.event_name != 'release' && github.event_name != 'schedule' }} | ||||
|         run: | | ||||
|           cargo install tauri-driver --force | ||||
|           source .env.${{ env.BUILD_RELEASE == 'true' && 'production' || 'development' }} | ||||
|           export VITE_KC_API_BASE_URL | ||||
|           xvfb-run yarn test:e2e:tauri | ||||
|       - uses: actions/download-artifact@v3 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
| 
 | ||||
|       - name: Copy updated .json file for updater test | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         run: "cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json" | ||||
| 
 | ||||
|       - name: Build the app (release, updater test) | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         env: | ||||
|           E2E_APPLICATION: "./src-tauri/target/${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}/zoo-modeling-app" | ||||
|           KITTYCAD_API_TOKEN: ${{ env.BUILD_RELEASE == 'true' && secrets.KITTYCAD_API_TOKEN || secrets.KITTYCAD_API_TOKEN_DEV }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | ||||
|           APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} | ||||
|           APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} | ||||
|           APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} | ||||
|           APPLE_ID: ${{ secrets.APPLE_ID }} | ||||
|           APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} | ||||
|           APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | ||||
|         run: "yarn tauri build -c src-tauri/tauri.release.conf.json -b dmg --target universal-apple-darwin" | ||||
| 
 | ||||
|       - name: Run e2e tests (windows only) | ||||
|         if: ${{ matrix.os == 'windows-latest' && github.event_name != 'release' && github.event_name != 'schedule' }} | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         with: | ||||
|           path: "src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg" | ||||
|           name: updater-test | ||||
| 
 | ||||
| 
 | ||||
|   build-test-app-windows: | ||||
|     needs: [prepare-json-files] | ||||
|     runs-on: windows-2022 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
| 
 | ||||
|       - uses: actions/download-artifact@v3 | ||||
| 
 | ||||
|       - name: Copy updated .json files | ||||
|         if: github.event_name == 'schedule' | ||||
|         run: | | ||||
|           ls -l artifact | ||||
|           cp artifact/package.json package.json | ||||
|           cp artifact/src-tauri/tauri.conf.json src-tauri/tauri.conf.json | ||||
|           cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json | ||||
| 
 | ||||
|       - name: Update WebView2 on Windows | ||||
|         # Workaround needed to build the tauri windows app with matching edge version. | ||||
|         # From https://github.com/actions/runner-images/issues/9538 | ||||
|         run: | | ||||
|           Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/p/?LinkId=2124703' -OutFile 'setup.exe' | ||||
|           Start-Process -FilePath setup.exe -Verb RunAs -Wait | ||||
| 
 | ||||
|       - name: Sync node version and setup cache | ||||
|         uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' # Set this to npm, yarn or pnpm. | ||||
| 
 | ||||
|       - run: yarn install | ||||
| 
 | ||||
|       - name: Setup Rust | ||||
|         uses: dtolnay/rust-toolchain@stable | ||||
| 
 | ||||
|       - name: Setup Rust cache | ||||
|         uses: swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src-tauri -> target' | ||||
| 
 | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
| 
 | ||||
|       - name: Install aarch64 target | ||||
|         run: rustup target add aarch64-pc-windows-msvc | ||||
| 
 | ||||
|       - name: Run build:wasm manually | ||||
|         shell: bash | ||||
|         env: | ||||
|           MODE: ${{ env.BUILD_RELEASE == 'true' && '--release' || '--debug' }} | ||||
|         run: | | ||||
|           mkdir src/wasm-lib/pkg; cd src/wasm-lib | ||||
|           echo "building with ${{ env.MODE }}" | ||||
|           npx wasm-pack build --target web --out-dir pkg ${{ env.MODE }} | ||||
|           cd ../../ | ||||
|           cp src/wasm-lib/pkg/wasm_lib_bg.wasm public | ||||
| 
 | ||||
|       - name: Run vite build | ||||
|         run: yarn vite build --mode ${{ env.BUILD_RELEASE == 'true' && 'production' || 'development' }} | ||||
| 
 | ||||
|       - name: Fix format | ||||
|         run: yarn fmt | ||||
| 
 | ||||
|       - name: Prepare certificate and variables (Windows only) | ||||
|         if: ${{ env.BUILD_RELEASE == 'true' }} | ||||
|         run: | | ||||
|           echo "${{secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12 | ||||
|           cat /d/Certificate_pkcs12.p12 | ||||
|           echo "::set-output name=version::${GITHUB_REF#refs/tags/v}" | ||||
|           echo "SM_HOST=${{ secrets.SM_HOST }}" >> "$GITHUB_ENV" | ||||
|           echo "SM_API_KEY=${{ secrets.SM_API_KEY }}" >> "$GITHUB_ENV" | ||||
|           echo "SM_CLIENT_CERT_FILE=D:\\Certificate_pkcs12.p12" >> "$GITHUB_ENV" | ||||
|           echo "SM_CLIENT_CERT_PASSWORD=${{ secrets.SM_CLIENT_CERT_PASSWORD }}" >> "$GITHUB_ENV" | ||||
|           echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH | ||||
|           echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH | ||||
|           echo "C:\Program Files\DigiCert\DigiCert One Signing Manager Tools" >> $GITHUB_PATH | ||||
|         shell: bash | ||||
| 
 | ||||
|       - name: Setup certicate with SSM KSP (Windows only) | ||||
|         if: ${{ env.BUILD_RELEASE == 'true' }} | ||||
|         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 | ||||
|           smksp_registrar.exe list | ||||
|           smctl.exe keypair ls | ||||
|           C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user | ||||
|           smksp_cert_sync.exe | ||||
|         shell: cmd | ||||
| 
 | ||||
|       - name: Build the app (debug) for x86_64 | ||||
|         if: ${{ env.BUILD_RELEASE == 'false' }} | ||||
|         run: "yarn run tauri build --debug" | ||||
| 
 | ||||
|       - name: Build the app (release) and sign for x86_64 | ||||
|         if: ${{ env.BUILD_RELEASE == 'true' }} | ||||
|         env: | ||||
|           TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | ||||
|         run: "yarn tauri build --config src-tauri\\tauri.release.conf.json" | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           path: "src-tauri/target/${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}/bundle/*/*" | ||||
| 
 | ||||
|       - name: Build the app (debug) for aarch64 | ||||
|         if: ${{ env.BUILD_RELEASE == 'false' }} | ||||
|         run: yarn run tauri build --debug --target aarch64-pc-windows-msvc | ||||
| 
 | ||||
|       - name: Build the app (release) and sign for aarch64 | ||||
|         if: ${{ env.BUILD_RELEASE == 'true' }} | ||||
|         env: | ||||
|           TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | ||||
|         run: "yarn tauri build --config src-tauri\\tauri.release.conf.json --target aarch64-pc-windows-msvc" | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         with: | ||||
|           path: "src-tauri/target/aarch64-pc-windows-msvc/${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}/bundle/*/*" | ||||
| 
 | ||||
|       - name: Run e2e tests | ||||
|         if: ${{ github.event_name != 'release' && github.event_name != 'schedule' }} | ||||
|         run: | | ||||
|           cargo install tauri-driver --force | ||||
|           yarn wdio run wdio.conf.ts | ||||
|         env: | ||||
|           E2E_APPLICATION: ".\\src-tauri\\target\\${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}\\Zoo Modeling App.exe" | ||||
|           E2E_APPLICATION: ".\\src-tauri\\target\\${{ env.BUILD_RELEASE == 'true' && 'release' || 'debug' }}\\zoo-modeling-app.exe" | ||||
|           KITTYCAD_API_TOKEN: ${{ env.BUILD_RELEASE == 'true' && secrets.KITTYCAD_API_TOKEN || secrets.KITTYCAD_API_TOKEN_DEV }} | ||||
|           VITE_KC_API_BASE_URL: ${{ env.BUILD_RELEASE == 'true' && 'https://api.zoo.dev' || 'https://api.dev.zoo.dev' }} | ||||
|           E2E_TAURI_ENABLED: true | ||||
| @ -389,31 +386,41 @@ jobs: | ||||
| 
 | ||||
|       - name: Copy updated .json file for updater test | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         run: | | ||||
|           ls -l artifact | ||||
|           cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json | ||||
|           cat src-tauri/tauri.release.conf.json | ||||
|         run: "cp artifact/src-tauri/tauri.release.conf.json src-tauri/tauri.release.conf.json" | ||||
| 
 | ||||
|       - name: Build the app (release, updater test) | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' && matrix.os != 'ubuntu-latest' }} | ||||
|       - name: Build the app (release, updater test) for x86_64 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         env: | ||||
|           TAURI_CONF_ARGS: "-c ${{ matrix.os == 'windows-latest' && 'src-tauri\\tauri.release.conf.json' || 'src-tauri/tauri.release.conf.json' }}" | ||||
|           TAURI_BUNDLE_ARGS: "-b ${{ matrix.os == 'windows-latest' && 'msi' || 'dmg' }}" | ||||
|         run: "yarn tauri build ${{ env.TAURI_CONF_ARGS }} ${{ env.TAURI_BUNDLE_ARGS }} ${{ env.TAURI_ARGS_MACOS }}" | ||||
|           TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | ||||
|         run: "yarn tauri build -c src-tauri\\tauri.release.conf.json -b msi" | ||||
| 
 | ||||
|       - name: Build the app (release, updater test) for aarch64 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         env: | ||||
|           TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} | ||||
|           TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} | ||||
|         run: "yarn tauri build -c src-tauri\\tauri.release.conf.json -b msi -t aarch64-pc-windows-msvc" | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' && matrix.os != 'ubuntu-latest' }} | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         with: | ||||
|           path: "${{ matrix.os == 'macos-14' && 'src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg' || 'src-tauri/target/release/bundle/msi/*.msi' }}" | ||||
|           path: "src-tauri/target/release/bundle/msi/*.msi" | ||||
|           name: updater-test | ||||
| 
 | ||||
|       - uses: actions/upload-artifact@v3 | ||||
|         if: ${{ env.CUT_RELEASE_PR == 'true' }} | ||||
|         with: | ||||
|           path: "src-tauri/target/aarch64-pc-windows-msvc/release/bundle/msi/*.msi" | ||||
|           name: updater-test | ||||
| 
 | ||||
| 
 | ||||
|   publish-apps-release: | ||||
|     runs-on: ubuntu-22.04 | ||||
|     permissions: | ||||
|       contents: write | ||||
|     runs-on: ubuntu-latest | ||||
|     if: ${{ github.event_name == 'release' || github.event_name == 'schedule' }} | ||||
|     needs: [check-format, check-types, check-typos, build-test-web, prepare-json-files, build-test-apps] | ||||
|     needs: [prepare-json-files, build-test-app-macos, build-test-app-windows] | ||||
|     env: | ||||
|       VERSION_NO_V: ${{ needs.prepare-json-files.outputs.version }} | ||||
|       VERSION: ${{ github.event_name == 'release' && format('v{0}', needs.prepare-json-files.outputs.version) || needs.prepare-json-files.outputs.version }} | ||||
| @ -429,7 +436,8 @@ jobs: | ||||
|         run: | | ||||
|           ls -l artifact/*/*oo* | ||||
|           DARWIN_SIG=`cat artifact/macos/*.app.tar.gz.sig` | ||||
|           WINDOWS_SIG=`cat artifact/msi/*.msi.zip.sig` | ||||
|           WINDOWS_X86_64_SIG=`cat artifact/msi/*x64*.msi.zip.sig` | ||||
|           WINDOWS_AARCH64_SIG=`cat artifact/msi/*arm64*.msi.zip.sig` | ||||
|           RELEASE_DIR=https://${WEBSITE_DIR}/${VERSION} | ||||
|           jq --null-input \ | ||||
|             --arg version "${VERSION}" \ | ||||
| @ -437,8 +445,10 @@ jobs: | ||||
|             --arg notes "${NOTES}" \ | ||||
|             --arg darwin_sig "$DARWIN_SIG" \ | ||||
|             --arg darwin_url "$RELEASE_DIR/macos/${{ env.URL_CODED_NAME }}.app.tar.gz" \ | ||||
|             --arg windows_sig "$WINDOWS_SIG" \ | ||||
|             --arg windows_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_x64_en-US.msi.zip" \ | ||||
|             --arg windows_x86_64_sig "$WINDOWS_X86_64_SIG" \ | ||||
|             --arg windows_x86_64_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_x64_en-US.msi.zip" \ | ||||
|             --arg windows_aarch64_sig "$WINDOWS_AARCH64_SIG" \ | ||||
|             --arg windows_aarch64_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_arm64_en-US.msi.zip" \ | ||||
|             '{ | ||||
|               "version": $version, | ||||
|               "pub_date": $pub_date, | ||||
| @ -453,8 +463,12 @@ jobs: | ||||
|                   "url": $darwin_url | ||||
|                 }, | ||||
|                 "windows-x86_64": { | ||||
|                   "signature": $windows_sig, | ||||
|                   "url": $windows_url | ||||
|                   "signature": $windows_x86_64_sig, | ||||
|                   "url": $windows_x86_64_url | ||||
|                 }, | ||||
|                 "windows-aarch64": { | ||||
|                   "signature": $windows_aarch64_sig, | ||||
|                   "url": $windows_aarch64_url | ||||
|                 } | ||||
|               } | ||||
|             }' > last_update.json | ||||
| @ -468,7 +482,8 @@ jobs: | ||||
|             --arg pub_date "${PUB_DATE}" \ | ||||
|             --arg notes "${NOTES}" \ | ||||
|             --arg darwin_url "$RELEASE_DIR/dmg/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_universal.dmg" \ | ||||
|             --arg windows_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_x64_en-US.msi" \ | ||||
|             --arg windows_x86_64_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_x64_en-US.msi" \ | ||||
|             --arg windows_aarch64_url "$RELEASE_DIR/msi/${{ env.URL_CODED_NAME }}_${VERSION_NO_V}_arm64_en-US.msi" \ | ||||
|             '{ | ||||
|               "version": $version, | ||||
|               "pub_date": $pub_date, | ||||
| @ -478,7 +493,10 @@ jobs: | ||||
|                   "url": $darwin_url | ||||
|                 }, | ||||
|                 "msi-x86_64": { | ||||
|                   "url": $windows_url | ||||
|                   "url": $windows_x86_64_url | ||||
|                 }, | ||||
|                 "msi-aarch64": { | ||||
|                   "url": $windows_aarch64_url | ||||
|                 } | ||||
|               } | ||||
|             }' > last_download.json | ||||
| @ -522,7 +540,7 @@ jobs: | ||||
| 
 | ||||
|   announce_release: | ||||
|     needs: [publish-apps-release] | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-22.04 | ||||
|     if: github.event_name == 'release' | ||||
|     steps: | ||||
|       - name: Check out code | ||||
							
								
								
									
										78
									
								
								.github/workflows/build-test-web.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,78 @@ | ||||
| name: build-test-web | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: | ||||
|       - main | ||||
|  | ||||
| concurrency: | ||||
|   group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | ||||
|   cancel-in-progress: true | ||||
|  | ||||
| jobs: | ||||
|   check-format: | ||||
|     runs-on: 'ubuntu-22.04' | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
|       - run: yarn install | ||||
|       - run: yarn fmt-check | ||||
|  | ||||
|   check-types: | ||||
|     runs-on: ubuntu-22.04 | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
|       - run: yarn install | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
|  | ||||
|       - run: yarn build:wasm | ||||
|       - run: yarn xstate:typegen | ||||
|       - run: yarn tsc | ||||
|  | ||||
|  | ||||
|   check-typos: | ||||
|     runs-on: ubuntu-22.04 | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Set up Python | ||||
|         uses: actions/setup-python@v5 | ||||
|       - name: Install codespell | ||||
|         run: | | ||||
|             python -m pip install codespell | ||||
|       - name: Run codespell | ||||
|         run: codespell --config .codespellrc # Edit this file to tweak the typo list and other configuration. | ||||
|  | ||||
|  | ||||
|   build-test-web: | ||||
|     runs-on: ubuntu-22.04 | ||||
|     steps: | ||||
|       - uses: actions/checkout@v4 | ||||
|  | ||||
|       - uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version-file: '.nvmrc' | ||||
|           cache: 'yarn' | ||||
|  | ||||
|       - run: yarn install | ||||
|  | ||||
|       - uses: Swatinem/rust-cache@v2 | ||||
|         with: | ||||
|           workspaces: './src/wasm-lib' | ||||
|  | ||||
|       - run: yarn build:wasm | ||||
|  | ||||
|       - run: yarn simpleserver:ci | ||||
|  | ||||
|       - run: yarn test:nowatch | ||||
							
								
								
									
										2
									
								
								.github/workflows/create-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						| @ -7,7 +7,7 @@ on: | ||||
|  | ||||
| jobs: | ||||
|   create-release: | ||||
|     runs-on: ubuntu-latest | ||||
|     runs-on: ubuntu-22.04 | ||||
|     permissions: | ||||
|       contents: write | ||||
|       pull-requests: read | ||||
|  | ||||
| @ -345,7 +345,7 @@ $env:KITTYCAD_API_TOKEN="<YOUR_KITTYCAD_API_TOKEN>" | ||||
| $env:VITE_KC_API_BASE_URL="https://api.dev.zoo.dev" | ||||
| $env:E2E_TAURI_ENABLED="true" | ||||
| $env:TS_NODE_COMPILER_OPTIONS='{"module": "commonjs"}' | ||||
| $env:E2E_APPLICATION=".\src-tauri\target\debug\Zoo Modeling App.exe" | ||||
| $env:E2E_APPLICATION=".\src-tauri\target\debug\zoo-modeling-app.exe" | ||||
| Stop-Process -Name msedgedriver | ||||
| yarn wdio run wdio.conf.ts | ||||
| ``` | ||||
|  | ||||
| Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB | 
| Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 52 KiB | 
| Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB | 
| Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB | 
| Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB | 
| Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB | 
| Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB | 
| @ -1,5 +1,5 @@ | ||||
| { | ||||
|   "name": "untitled-app", | ||||
|   "name": "zoo-modeling-app", | ||||
|   "version": "0.24.3", | ||||
|   "private": true, | ||||
|   "dependencies": { | ||||
| @ -113,7 +113,7 @@ | ||||
|     "@iarna/toml": "^2.2.5", | ||||
|     "@lezer/generator": "^1.7.1", | ||||
|     "@playwright/test": "^1.45.1", | ||||
|     "@tauri-apps/cli": "==2.0.0-beta.13", | ||||
|     "@tauri-apps/cli": "==2.0.0-beta.22", | ||||
|     "@testing-library/jest-dom": "^5.14.1", | ||||
|     "@testing-library/react": "^15.0.2", | ||||
|     "@types/mocha": "^10.0.6", | ||||
|  | ||||
							
								
								
									
										1415
									
								
								src-tauri/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						| @ -1,17 +1,18 @@ | ||||
| [package] | ||||
| name = "app" | ||||
| name = "zoo-modeling-app" | ||||
| version = "0.1.0" | ||||
| description = "The Zoo Modeling App" | ||||
| authors = ["Zoo Engineers <eng@zoo.dev>"] | ||||
| license = "" | ||||
| repository = "https://github.com/KittyCAD/modeling-app" | ||||
| default-run = "app" | ||||
| default-run = "zoo-modeling-app" | ||||
| edition = "2021" | ||||
| rust-version = "1.70" | ||||
| # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||||
|  | ||||
| [build-dependencies] | ||||
| tauri-build = { version = "2.0.0-beta.18", features = [] } | ||||
| tauri-bundler = { git = "https://github.com/tauri-apps/tauri", rev = "1a88fc1a9b81bd09fc24cf0dfed95d20dd72a1bb" } | ||||
|  | ||||
| [dependencies] | ||||
| anyhow = "1" | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| { | ||||
|   "$schema": "../node_modules/@tauri-apps/cli/schema.json", | ||||
|   "bundle": { | ||||
|     "createUpdaterArtifacts": "v1Compatible", | ||||
|     "windows": { | ||||
|       "certificateThumbprint": "F4C9A52FF7BC26EE5E054946F6B11DEEA94C748D", | ||||
|       "digestAlgorithm": "sha256", | ||||
|  | ||||
							
								
								
									
										108
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						| @ -1922,71 +1922,71 @@ | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/api/-/api-2.0.0-beta.14.tgz#8c1c65c07559cd29c5103a99e0abe5331cc2246f" | ||||
|   integrity sha512-YLYgHqdwWswr4Y70+hRzaLD6kLIUgHhE3shLXNquPiTaQ9+cX3Q2dB0AFfqsua6NXYFNe7LfkmMzaqEzqv3yQg== | ||||
|  | ||||
| "@tauri-apps/cli-darwin-arm64@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.0.0-beta.13.tgz#4926b310f5c39f967753c1c6b9aa20916011ebb6" | ||||
|   integrity sha512-/ibwIj1n2TQSXazGr79K4sfiZ85JndGXjMVN5QD9M8AkhpqgiSM+QT+qfIb+Y8p/RY9v1w1h3+zKMJXjhIppbA== | ||||
| "@tauri-apps/cli-darwin-arm64@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.0.0-beta.22.tgz#5e41c880a4b324bf5c1345fec7259c6b99be2caf" | ||||
|   integrity sha512-Ofhythvg1Ks2IM87WUYNtgFzm21aU1Zn+8QP81lJy9Y7ZGMxP8FYfqeHz6GIWKI+CYf6I77HA8LHkT9pyE5PYg== | ||||
|  | ||||
| "@tauri-apps/cli-darwin-x64@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.0.0-beta.13.tgz#50fee7410ef12e705aa446be7f640b7da504c0e3" | ||||
|   integrity sha512-DNqvRzlrH0ZEo+MxdbJIFOYGPCI7iVXzPxSRU+WFz9aa388fZSVEw9jWer5WaAR5FBgp3bDjrkjPuejSb2A8fw== | ||||
| "@tauri-apps/cli-darwin-x64@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.0.0-beta.22.tgz#029fc107abaa9ede26f5fa3f0949fbf8eaf3667c" | ||||
|   integrity sha512-/lWIixo7WgmMUqcxlPT7Ojlkl6qbVlNDwUZ+9DtTpoWnaaBxv/YpSe1k62vDWEC7l0apFY+Fz7cRONN2wglFyQ== | ||||
|  | ||||
| "@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.0.0-beta.13.tgz#209af191283ec4730fed8fe8e5299a91710e4b38" | ||||
|   integrity sha512-DACLzD8PqgURFBDTnxGODBw/8AP1M5etMrc73dCYs2d4aingc2fVxGYeIQBA0SgijznoCk+pcOmiRsNKO6gemw== | ||||
| "@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.0.0-beta.22.tgz#5913e0a3c062e22974f0351f5e10c9fd4f66d33c" | ||||
|   integrity sha512-9nJCSStoxu4BKaKVJhu/uBJ8IsIofwAdsX0TWFxqo0obaZbeQSEpPhVsCy+uk3u/28dF+qyUtMCYawO2Uljnag== | ||||
|  | ||||
| "@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.0.0-beta.13.tgz#01064bcc7cad8db596e7b54382f7b8e7a96d60e9" | ||||
|   integrity sha512-qm141KNMD6ZjbtAntEZYqiEbiAD0Y6CQnfzmARM9OAPkHD2vk0rnGWSa87N8lnAA27LVAnKj+nTtt77dRLlaVA== | ||||
| "@tauri-apps/cli-linux-arm64-gnu@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.0.0-beta.22.tgz#86c2107e12c2f2b1289d74a29ebe810df7bb22aa" | ||||
|   integrity sha512-TF9q9zHFBx9LaG2fJJC+BcpIokOmX1UIniBapndvx3dJmdDiK4F6w2QYKDkrBQVzDzcIducmdo2zNBv17O9tFQ== | ||||
|  | ||||
| "@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.0.0-beta.13.tgz#1974a209612fd2bbd2b66dc13406f495e5e38dbd" | ||||
|   integrity sha512-AnB+FaqnKfGszStoj7NFZyxMV3Dz4jJcTcCE+EUYJ8Tctah35EJS/39ykskXjXonhxzg8Zr7joXRUVgGFk/yVA== | ||||
| "@tauri-apps/cli-linux-arm64-musl@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.0.0-beta.22.tgz#8a87be68e3ffc9115052bc8d015a9515c7870969" | ||||
|   integrity sha512-ak/RdmaV7sATQmNOxlpHVlbKlrdquH7WH8nOv82X+iK+1HgAOGGqLqBUMzzhkGqo9SHQ9zJ6A2yOo7Z6TJXMmQ== | ||||
|  | ||||
| "@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.0.0-beta.13.tgz#55fbbb3fe12c1c6fe1e4cae6dce055dcb23a522b" | ||||
|   integrity sha512-do+H48Sq/CJPRCSj7aK4j+QXi5OLbqmVt3YUB7H/krH4PFobveIhm2UpEwTjdEWO2tFTCttj07GD/OYxDhzD/g== | ||||
| "@tauri-apps/cli-linux-x64-gnu@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.0.0-beta.22.tgz#108aaa4a939de0ea7567974c627b8061b88be091" | ||||
|   integrity sha512-9t+jQeMqBdXz51ikTh1PQFG/gs9PBzXmtMcIzUxE0juvH/ynjw0Vf+yZbNmwqVS9g7cj8XiBXoc6/N41SZE2cA== | ||||
|  | ||||
| "@tauri-apps/cli-linux-x64-musl@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.0.0-beta.13.tgz#67b0f6859072ec297b39dfb5bdf76fc897cfe6f4" | ||||
|   integrity sha512-txkn8CAb8/n6vOHvuXhUBKBJFAip6dF11qqK1lcpsgpNdv1UbvpZYYbjEd8y4jWyjN7OEoIseTtzFzXdezycDw== | ||||
| "@tauri-apps/cli-linux-x64-musl@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.0.0-beta.22.tgz#2ea7740c86dc2fc83ed5dfd3f887b0ab76545be4" | ||||
|   integrity sha512-PemcztfHG3HAuuo7HcnhfDrtN9NT7kueyNg8ipxJNPMa+s4K7kfieViyEiMW5pTr2F5WG/UuBSNcuwY+DVCcPA== | ||||
|  | ||||
| "@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.0.0-beta.13.tgz#96de65e90b29545ac3825ed51c1fd22648a40299" | ||||
|   integrity sha512-SKa+qiZQ0+JXTHYtZKJw6RuUoolI/GU7E7pTHfkhYpGFO8UXLpTABkQ0KbN0RK0Bw/MOFFVqnAN2AoXLgPUDEA== | ||||
| "@tauri-apps/cli-win32-arm64-msvc@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.0.0-beta.22.tgz#c378ff68b99aa1afa17a583e4e7a0b16339282b7" | ||||
|   integrity sha512-EgKoG/jGEtTzhOp7ISjMdQsfd8IOG/5yZhO9Z4L/u7oB9mprKAJohYs24+ZxJtq2bOz4f/ZIysZ19nbkpxUzrg== | ||||
|  | ||||
| "@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.0.0-beta.13.tgz#ff3fe14c68abed27810d727a6d7e78c7f172785c" | ||||
|   integrity sha512-4i9MK2mxNVF2Y1Wp6r/73Xhpevaz1sXD1DezfCDC8Fdszxo2IhkIZ0AYF5/M+TnSLyJk2u5TtFCnbaOt5e4gCg== | ||||
| "@tauri-apps/cli-win32-ia32-msvc@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.0.0-beta.22.tgz#88a81f2c6dbf62ea18252a542d45eb4190b4ed6e" | ||||
|   integrity sha512-67OrM2m4FB3KujPbjd/i+9lqcLDO3/ixqL1GMc3BoHhcjF+7QY08OxqWeitdsP/8ihnMIIdir2xEjNUKc6Zelw== | ||||
|  | ||||
| "@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.0.0-beta.13.tgz#adac497f4cb289f147678ceced59102ae4d2696a" | ||||
|   integrity sha512-aQRwG/dc9zScIzCst646uyprppxc1Gx4jFJUw4yAEikO32SOS+90c8NFEj6H3HtZBmhzfI3JDxrGJl7ORAOCCQ== | ||||
| "@tauri-apps/cli-win32-x64-msvc@2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.0.0-beta.22.tgz#eb156270431382b64f8d95f0e86a72a6311a3b6f" | ||||
|   integrity sha512-BsO5xMUxliTZTImXnOC73sKT2U9VUeqR8AtklSObBcAg5LaZKpYOdF2pZzU6rIMAZwzROTAT1hYsr4r/nx2UZg== | ||||
|  | ||||
| "@tauri-apps/cli@==2.0.0-beta.13": | ||||
|   version "2.0.0-beta.13" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-2.0.0-beta.13.tgz#59f410c680cce0707675c78a745bf5c6faa1a6a3" | ||||
|   integrity sha512-Kp0zSvrhXrOQL+8evRMJufnDYDinWXaBb1Un8x4cptrM0GAKjYddV4vjNsXvEyjlXv0S+SWJD0OUNHQyMDUlAg== | ||||
| "@tauri-apps/cli@==2.0.0-beta.22": | ||||
|   version "2.0.0-beta.22" | ||||
|   resolved "https://registry.yarnpkg.com/@tauri-apps/cli/-/cli-2.0.0-beta.22.tgz#a8c58568db903271b767ecec689bdf7632fbc8cf" | ||||
|   integrity sha512-OAuiDdSRKxNmr/dseQKKMoZZxIhQ6aAxmXJctGYJxCnkd62tQ8xeq87roVXGNS5Qkuv7WpySAyR0ntiMjvNLUA== | ||||
|   optionalDependencies: | ||||
|     "@tauri-apps/cli-darwin-arm64" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-darwin-x64" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-linux-arm-gnueabihf" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-linux-arm64-gnu" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-linux-arm64-musl" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-linux-x64-gnu" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-linux-x64-musl" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-win32-arm64-msvc" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-win32-ia32-msvc" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-win32-x64-msvc" "2.0.0-beta.13" | ||||
|     "@tauri-apps/cli-darwin-arm64" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-darwin-x64" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-linux-arm-gnueabihf" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-linux-arm64-gnu" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-linux-arm64-musl" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-linux-x64-gnu" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-linux-x64-musl" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-win32-arm64-msvc" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-win32-ia32-msvc" "2.0.0-beta.22" | ||||
|     "@tauri-apps/cli-win32-x64-msvc" "2.0.0-beta.22" | ||||
|  | ||||
| "@tauri-apps/plugin-dialog@^2.0.0-beta.6": | ||||
|   version "2.0.0-beta.6" | ||||
|  | ||||
![github-actions[bot]](/assets/img/avatar_default.png)