Merge pull request #5 from purrgrammer/claude/setup-github-actions-qa-n7cC3

Set up GitHub Actions for quality assurance
This commit is contained in:
Alejandro
2025-12-21 12:28:04 +01:00
committed by GitHub
2 changed files with 70 additions and 0 deletions

62
.github/workflows/qa.yml vendored Normal file
View File

@@ -0,0 +1,62 @@
name: QA
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:run

View File

@@ -10,6 +10,7 @@ vi.mock("@/services/accounts", () => ({
default: {
active: {
signer: {},
pubkey: "test-pubkey",
},
},
}));
@@ -24,6 +25,12 @@ vi.mock("@/services/spell-storage", () => ({
markSpellPublished: vi.fn(),
}));
vi.mock("@/services/relay-list-cache", () => ({
relayListCache: {
getOutboxRelays: vi.fn().mockResolvedValue([]),
},
}));
describe("PublishSpellAction", () => {
let action: PublishSpellAction;
@@ -62,6 +69,7 @@ describe("PublishSpellAction", () => {
// @ts-expect-error: mocking internal state for test
accountManager.active = {
signer: mockSigner,
pubkey: "pubkey",
};
const spell: LocalSpell = {