Fix tests from upstream changes and add testing to lint staged and ci (#4127)

This commit is contained in:
Zane
2025-08-19 09:09:34 -07:00
committed by GitHub
parent 5c1789a6fc
commit 867752a71e
7 changed files with 75 additions and 59 deletions
+10 -16
View File
@@ -63,22 +63,6 @@ jobs:
cd ui/desktop
npm version ${{ inputs.version }} --no-git-tag-version --allow-same-version
# Pre-build cleanup to ensure enough disk space
- name: Pre-build cleanup
run: |
source ./bin/activate-hermit
echo "Performing pre-build cleanup..."
# Clean npm cache
npm cache clean --force || true
# Clean any previous build artifacts
rm -rf target || true
# Clean Homebrew cache
brew cleanup || true
# Remove unnecessary large directories
rm -rf ~/Library/Caches/* || true
# Check disk space after cleanup
df -h
- name: Cache Cargo registry
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
@@ -150,6 +134,16 @@ jobs:
cp temporal-service/temporal-service ui/desktop/src/bin/temporal-service
cp bin/temporal ui/desktop/src/bin/temporal
- name: Cache npm dependencies
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: |
ui/desktop/node_modules
.hermit/node/cache
key: intel-npm-cache-v1-${{ runner.os }}-${{ hashFiles('ui/desktop/package-lock.json') }}
restore-keys: |
intel-npm-cache-v1-${{ runner.os }}-
- name: Install dependencies
run: source ../../bin/activate-hermit && npm ci
working-directory: ui/desktop
+10 -21
View File
@@ -78,26 +78,6 @@ jobs:
dpkg-dev \
protobuf-compiler
- name: Pre-build cleanup
run: |
echo "Performing aggressive pre-build cleanup..."
# Clean npm cache
npm cache clean --force || true
# Clean any previous build artifacts
rm -rf target || true
# Clean Homebrew cache (if exists)
brew cleanup || true
# Remove unnecessary large directories
sudo rm -rf /usr/share/dotnet || true
sudo rm -rf /usr/local/lib/android || true
sudo rm -rf /opt/ghc || true
sudo rm -rf /usr/local/share/boost || true
# Clean apt cache
sudo apt-get clean || true
sudo apt-get autoremove -y || true
# Check disk space after cleanup
df -h
- name: Activate hermit and set CARGO_HOME
run: |
source bin/activate-hermit
@@ -154,11 +134,20 @@ jobs:
chmod +x ui/desktop/src/bin/temporal-service
ls -la ui/desktop/src/bin/
- name: Cache npm dependencies
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: |
ui/desktop/node_modules
.hermit/node/cache
key: linux-npm-cache-v1-${{ runner.os }}-${{ hashFiles('ui/desktop/package-lock.json') }}
restore-keys: |
linux-npm-cache-v1-${{ runner.os }}-
- name: Install npm dependencies
run: |
source ./bin/activate-hermit
cd ui/desktop
npm cache clean --force || true
npm install
# Verify installation
ls -la node_modules/.bin/ | head -5
+3 -2
View File
@@ -70,9 +70,10 @@ jobs:
path: |
node_modules
ui/desktop/node_modules
key: ${{ runner.os }}-build-desktop-windows-node22-${{ hashFiles('**/package-lock.json') }}
.hermit/node/cache
key: windows-npm-cache-v1-${{ runner.os }}-node22-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-desktop-windows-node22-
windows-npm-cache-v1-${{ runner.os }}-node22-
# Cache Cargo registry and git dependencies
- name: Cache Cargo registry
+10 -16
View File
@@ -107,22 +107,6 @@ jobs:
cd ui/desktop
npm version "${VERSION}" --no-git-tag-version --allow-same-version
# Pre-build cleanup to ensure enough disk space
- name: Pre-build cleanup
run: |
source ./bin/activate-hermit
echo "Performing pre-build cleanup..."
# Clean npm cache
npm cache clean --force || true
# Clean any previous build artifacts
rm -rf target || true
# Clean Homebrew cache
brew cleanup || true
# Remove unnecessary large directories
rm -rf ~/Library/Caches/* || true
# Check disk space after cleanup
df -h
- name: Cache Cargo registry
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
@@ -191,6 +175,16 @@ jobs:
cp temporal-service/temporal-service ui/desktop/src/bin/temporal-service
cp bin/temporal ui/desktop/src/bin/temporal
- name: Cache npm dependencies
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: |
ui/desktop/node_modules
.hermit/node/cache
key: macos-npm-cache-v1-${{ runner.os }}-${{ hashFiles('ui/desktop/package-lock.json') }}
restore-keys: |
macos-npm-cache-v1-${{ runner.os }}-
- name: Install dependencies
run: source ../../bin/activate-hermit && npm ci
working-directory: ui/desktop
+14
View File
@@ -109,6 +109,16 @@ jobs:
- name: Checkout Code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v4
- name: Cache npm dependencies
uses: actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f # pin@v3
with:
path: |
ui/desktop/node_modules
.hermit/node/cache
key: ci-npm-cache-v1-${{ runner.os }}-${{ hashFiles('ui/desktop/package-lock.json') }}
restore-keys: |
ci-npm-cache-v1-${{ runner.os }}-
- name: Install Dependencies
run: source ../../bin/activate-hermit && npm ci
working-directory: ui/desktop
@@ -117,6 +127,10 @@ jobs:
run: source ../../bin/activate-hermit && npm run lint:check
working-directory: ui/desktop
- name: Run Tests
run: source ../../bin/activate-hermit && npm run test:run
working-directory: ui/desktop
# Faster Desktop App build for PRs only
bundle-desktop-unsigned:
uses: ./.github/workflows/bundle-desktop.yml
+2 -1
View File
@@ -143,7 +143,8 @@
"src/**/*.{ts,tsx}": [
"bash -c 'npm run typecheck'",
"eslint --fix --max-warnings 0 --no-warn-ignored",
"prettier --write"
"prettier --write",
"bash -c 'npm run test:run'"
],
"src/**/*.{css,json}": [
"prettier --write"
+26 -3
View File
@@ -95,6 +95,26 @@ vi.mock('./components/ModelAndProviderContext', () => ({
vi.mock('./contexts/ChatContext', () => ({
ChatProvider: ({ children }: { children: React.ReactNode }) => <>{children}</>,
useChatContext: () => ({
chat: {
id: 'test-id',
title: 'Test Chat',
messages: [],
messageHistoryIndex: 0,
recipeConfig: null,
},
setChat: vi.fn(),
resetChat: vi.fn(),
hasActiveSession: false,
setRecipeConfig: vi.fn(),
clearRecipeConfig: vi.fn(),
setRecipeParameters: vi.fn(),
clearRecipeParameters: vi.fn(),
draft: '',
setDraft: vi.fn(),
clearDraft: vi.fn(),
contextKey: 'hub',
}),
}));
vi.mock('./contexts/DraftContext', () => ({
@@ -212,7 +232,8 @@ describe('App Component - Brand New State', () => {
// Check that we navigated to "/" not "/welcome"
await waitFor(() => {
expect(window.location.hash).toBe('#/');
// In some environments, the hash might be empty or just "#"
expect(window.location.hash).toMatch(/^(#\/?|)$/);
});
// History should have been updated to "/"
@@ -260,7 +281,8 @@ describe('App Component - Brand New State', () => {
// Should stay at "/" since provider is configured
await waitFor(() => {
expect(window.location.hash).toBe('#/');
// In some environments, the hash might be empty or just "#"
expect(window.location.hash).toMatch(/^(#\/?|)$/);
});
});
@@ -285,7 +307,8 @@ describe('App Component - Brand New State', () => {
// App should still initialize and navigate to "/"
await waitFor(() => {
expect(window.location.hash).toBe('#/');
// In some environments, the hash might be empty or just "#"
expect(window.location.hash).toMatch(/^(#\/?|)$/);
});
});
});