Break apart ci.yml into build-test-web and build-test-publish-apps
This commit is contained in:
		@ -1,4 +1,4 @@
 | 
			
		||||
name: CI
 | 
			
		||||
name: build-test-apps
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
@ -16,9 +16,9 @@ env:
 | 
			
		||||
  CUT_RELEASE_PR: ${{ github.event_name == 'pull_request' && (contains(github.event.pull_request.title, 'Cut release v')) }}
 | 
			
		||||
  BUILD_RELEASE: ${{ github.event_name == 'release' || github.event_name == 'schedule' || github.event_name == 'pull_request' && (contains(github.event.pull_request.title, 'Cut release v')) }}
 | 
			
		||||
 | 
			
		||||
# concurrency:
 | 
			
		||||
#   group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
#   cancel-in-progress: true
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  check-format:
 | 
			
		||||
@ -455,71 +455,6 @@ jobs:
 | 
			
		||||
          name: updater-test
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  build-test-app-ubuntu:
 | 
			
		||||
    needs: [prepare-json-files]
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    if: ${{ github.event_name != 'release' && github.event_name != 'schedule' }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - uses: actions/download-artifact@v3
 | 
			
		||||
 | 
			
		||||
      - name: Install ubuntu system dependencies
 | 
			
		||||
        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:
 | 
			
		||||
          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: Run build:wasm
 | 
			
		||||
        run: yarn build:wasm-dev
 | 
			
		||||
 | 
			
		||||
      - name: Run vite build
 | 
			
		||||
        run: yarn vite build --mode development
 | 
			
		||||
 | 
			
		||||
      - name: Fix format
 | 
			
		||||
        run: yarn fmt
 | 
			
		||||
 | 
			
		||||
      - name: Build the app (debug)
 | 
			
		||||
        run: yarn tauri build --debug --bundles
 | 
			
		||||
 | 
			
		||||
      - name: Run e2e tests
 | 
			
		||||
        run: |
 | 
			
		||||
          cargo install tauri-driver --force
 | 
			
		||||
          source .env.development
 | 
			
		||||
          export VITE_KC_API_BASE_URL
 | 
			
		||||
          xvfb-run yarn test:e2e:tauri
 | 
			
		||||
        env:
 | 
			
		||||
          E2E_APPLICATION: "./src-tauri/target/debug/zoo-modeling-app"
 | 
			
		||||
          KITTYCAD_API_TOKEN: ${{ secrets.KITTYCAD_API_TOKEN_DEV }}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  publish-apps-release:
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    permissions:
 | 
			
		||||
							
								
								
									
										78
									
								
								.github/workflows/build-test-web.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										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
 | 
			
		||||
@ -325,7 +325,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\app.exe"
 | 
			
		||||
$env:E2E_APPLICATION=".\src-tauri\target\debug\Zoo Modeling App.exe"
 | 
			
		||||
Stop-Process -Name msedgedriver
 | 
			
		||||
yarn wdio run wdio.conf.ts
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user