diff --git a/.github/workflows/ui-ci.yaml b/.github/workflows/ui-ci.yaml new file mode 100644 index 000000000..3d6cc8d6a --- /dev/null +++ b/.github/workflows/ui-ci.yaml @@ -0,0 +1,41 @@ +name: UI CI + +on: + workflow_dispatch: {} + pull_request: + branches: + - main + - release-* + paths: + - desktop/ + +jobs: + check: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./desktop + steps: + - name: checkout + uses: actions/checkout@v4 + + - name: setup node + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: install dependencies + run: yarn install --frozen-lockfile + + - name: lint + run: yarn lint:ci + + - name: check format + run: yarn format:check + + - name: check types + run: yarn types:check + + # This only builds the frontend assets, not the full DevPod Desktop app to make it quicker + - name: build + run: yarn build diff --git a/desktop/package.json b/desktop/package.json index 4cd175c44..b6c98efc3 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -15,7 +15,8 @@ "desktop:build": "tauri build", "format:check": "prettier --check .", "format:fix": "prettier --write .", - "types:check": "tsc -p ./tsconfig.json --noEmit" + "types:check": "tsc -p ./tsconfig.json --noEmit", + "lint:ci": "eslint . --ext '.ts,.tsx'" }, "dependencies": { "@chakra-ui/icons": "2.1.1",