Compare commits

...

7 Commits

Author SHA1 Message Date
hwinkel 1f4005f5d4 fix: streamline Docker image build process by removing unnecessary load and save steps
Build and Push Docker Image / test (push) Successful in 28s
Build and Push Docker Image / build (push) Successful in 1m51s
2026-05-09 15:42:09 +02:00
hwinkel 0547f6a41c fix: downgrade upload and download artifact actions to v3 for compatibility
Build and Push Docker Image / test (push) Successful in 37s
Build and Push Docker Image / build (push) Successful in 3m1s
Build and Push Docker Image / push (push) Failing after 46s
2026-05-09 15:32:37 +02:00
hwinkel 28674fb023 fix: ensure Docker image name is lowercase when saving
Build and Push Docker Image / test (push) Successful in 28s
Build and Push Docker Image / build (push) Failing after 2m8s
Build and Push Docker Image / push (push) Has been skipped
2026-05-09 15:27:39 +02:00
hwinkel b640cfdb74 fix: update Docker image saving command for consistency
Build and Push Docker Image / test (push) Successful in 28s
Build and Push Docker Image / build (push) Failing after 1m54s
Build and Push Docker Image / push (push) Has been skipped
2026-05-09 15:23:14 +02:00
hwinkel d076fba0c0 fix: add no-cache option to Docker build step and update .gitignore for new files
Build and Push Docker Image / test (push) Successful in 28s
Build and Push Docker Image / build (push) Failing after 1m57s
Build and Push Docker Image / push (push) Has been skipped
2026-05-09 15:15:39 +02:00
hwinkel f155a7952a feat: split Gitea workflow into test/build/push jobs
Build and Push Docker Image / test (push) Successful in 30s
Build and Push Docker Image / build (push) Failing after 44s
Build and Push Docker Image / push (push) Has been skipped
2026-05-09 12:32:36 +02:00
hwinkel 0e62f0f80b fix: update default category counts for expenses and revenues in tests
Build and Push Docker Image / build (push) Successful in 2m5s
2026-05-09 12:00:23 +02:00
3 changed files with 34 additions and 11 deletions
+23 -3
View File
@@ -10,10 +10,9 @@ env:
IMAGE_NAME: ${{ gitea.repository }} IMAGE_NAME: ${{ gitea.repository }}
jobs: jobs:
build: test:
permissions: permissions:
contents: read contents: read
packages: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -32,6 +31,26 @@ jobs:
- name: Run tests - name: Run tests
run: npm run test run: npm run test
build:
permissions:
contents: read
packages: write
needs: test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3 uses: docker/setup-buildx-action@v3
@@ -51,10 +70,11 @@ jobs:
type=sha,prefix=,format=short type=sha,prefix=,format=short
type=raw,value=latest,enable={{is_default_branch}} type=raw,value=latest,enable={{is_default_branch}}
- name: Build and push - name: Build and push Docker image
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
context: . context: .
no-cache: true
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
+3
View File
@@ -54,3 +54,6 @@ data/documents/
.vscode/ .vscode/
.react-router .react-router
.continue .continue
.opencode
docs/superpowers
+8 -8
View File
@@ -6,8 +6,8 @@ import {
describe("kategorie-defaults.ts", () => { describe("kategorie-defaults.ts", () => {
describe("DEFAULT_AUSGABE_KATEGORIEN", () => { describe("DEFAULT_AUSGABE_KATEGORIEN", () => {
it("should have 15 default expense categories", () => { it("should have 17 default expense categories", () => {
expect(DEFAULT_AUSGABE_KATEGORIEN).toHaveLength(15); expect(DEFAULT_AUSGABE_KATEGORIEN).toHaveLength(17);
}); });
it("should include common expense categories", () => { it("should include common expense categories", () => {
@@ -48,8 +48,8 @@ describe("kategorie-defaults.ts", () => {
}); });
describe("DEFAULT_EINNAHME_KATEGORIEN", () => { describe("DEFAULT_EINNAHME_KATEGORIEN", () => {
it("should have 9 default revenue categories", () => { it("should have 10 default revenue categories", () => {
expect(DEFAULT_EINNAHME_KATEGORIEN).toHaveLength(9); expect(DEFAULT_EINNAHME_KATEGORIEN).toHaveLength(10);
}); });
it("should include Fußpflege category", () => { it("should include Fußpflege category", () => {
@@ -145,8 +145,8 @@ describe("kategorie-defaults.ts", () => {
typ: "EINNAHME" as const, typ: "EINNAHME" as const,
})); }));
expect(defaultExpenseCategories).toHaveLength(15); expect(defaultExpenseCategories).toHaveLength(17);
expect(defaultRevenueCategories).toHaveLength(9); expect(defaultRevenueCategories).toHaveLength(10);
expect(defaultExpenseCategories[0].typ).toBe("AUSGABE"); expect(defaultExpenseCategories[0].typ).toBe("AUSGABE");
expect(defaultRevenueCategories[0].typ).toBe("EINNAHME"); expect(defaultRevenueCategories[0].typ).toBe("EINNAHME");
}); });
@@ -157,8 +157,8 @@ describe("kategorie-defaults.ts", () => {
"Custom Expense Category", "Custom Expense Category",
]; ];
expect(customCategories.length).toBe(16); // 15 defaults + 1 custom expect(customCategories.length).toBe(18); // 17 defaults + 1 custom
expect(customCategories[15]).toBe("Custom Expense Category"); expect(customCategories[customCategories.length - 1]).toBe("Custom Expense Category");
}); });
}); });