chore/update-deps #2

Merged
mkrieger merged 7 commits from chore/update-deps into main 2026-10-23 07:55:42 +00:00
Owner

Description

Moves the CI to the self-hosted Forgejo runner and publishes the add-on images to the Forgejo container registry, so installing and updating the add-on in Home Assistant no longer builds the image on the device. It also fixes the audit findings in the dependencies and updates the documentation, including German versions.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test update

Changes Made

  • Release: release.yml builds the amd64 and aarch64 images on a version tag and pushes them to git.krieger.icu/mkrieger/alexa_share-{arch}. It checks that the tag matches the version in config.yml, skips a version that is already published and creates the release through the Forgejo API
  • Add-on: config.yml points to the prebuilt image through image
  • CI: read the pnpm version from package.json (the fixed version 9 conflicted with packageManager), remove the Codecov upload, use full action URLs, use the Forgejo fork of upload-artifact v4 and drop the GitHub cache options
  • Dependencies: update next, axios, lodash, postcss, js-yaml, ws, vitest and tailwindcss within their major versions. Add vite as a direct dev dependency and override vite, esbuild and yaml to patched versions. Ignore the braces and postcss-selector-parser advisories because there is no compatible patched version for Tailwind 3
  • TypeScript: update to 5.9 (5.3 cannot parse the declaration file of @vitejs/plugin-react 5.2), set moduleResolution to bundler and remove the obsolete @ts-expect-error in vitest.config.ts
  • Documentation: describe the toolbar, the filter panel, the selection mode, the remembered settings, paging and scrolling and orphaned entries. Add German versions (README.de.md, DOCS.de.md) with links between the languages

Closes #

Testing

  • Tests pass locally
  • Added new tests for new functionality
  • Updated existing tests
  • Manual testing performed

Manual testing: registered the runner on the Docker server and ran the CI workflows on it. The runs showed the failures that are fixed here. pnpm audit reports only the two ignored advisories. The image build and the release have not run yet, they start with the first tag.

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings or errors
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Not applicable.

Additional Notes

  • Before the first release, add the secret REGISTRY_TOKEN (access token with read:package, write:package and write:repository) and make the package readable without a login, so Home Assistant can pull the images.
  • Release order: push the tag first and the branch after the pipeline is green, so the image exists before users see the update.
  • The braces and postcss-selector-parser ignores can go once the project moves to Tailwind 4.
## Description Moves the CI to the self-hosted Forgejo runner and publishes the add-on images to the Forgejo container registry, so installing and updating the add-on in Home Assistant no longer builds the image on the device. It also fixes the audit findings in the dependencies and updates the documentation, including German versions. ## Type of Change - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Test update ## Changes Made - Release: `release.yml` builds the `amd64` and `aarch64` images on a version tag and pushes them to `git.krieger.icu/mkrieger/alexa_share-{arch}`. It checks that the tag matches the version in `config.yml`, skips a version that is already published and creates the release through the Forgejo API - Add-on: `config.yml` points to the prebuilt image through `image` - CI: read the pnpm version from `package.json` (the fixed version 9 conflicted with `packageManager`), remove the Codecov upload, use full action URLs, use the Forgejo fork of `upload-artifact` v4 and drop the GitHub cache options - Dependencies: update `next`, `axios`, `lodash`, `postcss`, `js-yaml`, `ws`, `vitest` and `tailwindcss` within their major versions. Add `vite` as a direct dev dependency and override `vite`, `esbuild` and `yaml` to patched versions. Ignore the `braces` and `postcss-selector-parser` advisories because there is no compatible patched version for Tailwind 3 - TypeScript: update to 5.9 (5.3 cannot parse the declaration file of `@vitejs/plugin-react` 5.2), set `moduleResolution` to `bundler` and remove the obsolete `@ts-expect-error` in `vitest.config.ts` - Documentation: describe the toolbar, the filter panel, the selection mode, the remembered settings, paging and scrolling and orphaned entries. Add German versions (`README.de.md`, `DOCS.de.md`) with links between the languages ## Related Issues <!-- Link any related issues here --> Closes # ## Testing - [x] Tests pass locally - [ ] Added new tests for new functionality - [ ] Updated existing tests - [x] Manual testing performed Manual testing: registered the runner on the Docker server and ran the CI workflows on it. The runs showed the failures that are fixed here. `pnpm audit` reports only the two ignored advisories. The image build and the release have not run yet, they start with the first tag. ## Checklist - [x] My code follows the project's style guidelines - [x] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [x] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings or errors - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published ## Screenshots (if applicable) Not applicable. ## Additional Notes - Before the first release, add the secret `REGISTRY_TOKEN` (access token with `read:package`, `write:package` and `write:repository`) and make the package readable without a login, so Home Assistant can pull the images. - Release order: push the tag first and the branch after the pipeline is green, so the image exists before users see the update. - The `braces` and `postcss-selector-parser` ignores can go once the project moves to Tailwind 4.
chore(deps): fix audit findings
Some checks failed
CI / Lint (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 1m23s
CI / Build (pull_request) Failing after 24s
CI / E2E Tests (pull_request) Has been skipped
CI / Docker Build (pull_request) Has been skipped
Code Quality / Code Quality Checks (pull_request) Successful in 30s
Code Quality / Security Audit (pull_request) Successful in 10s
Code Quality / Bundle Size Check (pull_request) Failing after 19s
17dea92628
- Update next, axios, lodash, postcss, js-yaml, ws, vitest and tailwindcss
  within their current major versions
- Add vite as a direct dev dependency and override vite, esbuild and yaml
  to patched versions
- Ignore the braces and postcss-selector-parser advisories, there is no
  compatible patched version for Tailwind 3
build: update typescript and resolve modules like the bundler
Some checks failed
CI / E2E Tests (pull_request) Has been cancelled
Code Quality / Code Quality Checks (pull_request) Has been cancelled
Code Quality / Security Audit (pull_request) Has been cancelled
Code Quality / Bundle Size Check (pull_request) Has been cancelled
CI / Lint (pull_request) Has been cancelled
CI / Test (pull_request) Has been cancelled
CI / Build (pull_request) Has been cancelled
CI / Docker Build (pull_request) Has been cancelled
16fd26bf5a
- Update typescript to 5.9, 5.3 cannot parse the declaration file of
  @vitejs/plugin-react 5.2
- Set moduleResolution to bundler so type-check and next build agree
- Remove the obsolete @ts-expect-error in vitest.config.ts
test(e2e): answer label and state requests in the mock server
Some checks failed
CI / Lint (pull_request) Successful in 15s
CI / Test (pull_request) Successful in 1m26s
CI / Build (pull_request) Successful in 28s
CI / Docker Build (pull_request) Has been skipped
Code Quality / Code Quality Checks (pull_request) Successful in 32s
Code Quality / Security Audit (pull_request) Successful in 10s
Code Quality / Bundle Size Check (pull_request) Successful in 25s
CI / E2E Tests (pull_request) Has been cancelled
b32e797247
- Handle config/label_registry/list and get_states in the mock Home
  Assistant WebSocket server, the app waits for both before it shows
  the devices
test(e2e): cover the filter panel and the selection mode
Some checks failed
CI / Lint (pull_request) Successful in 16s
CI / Test (pull_request) Successful in 1m23s
CI / Build (pull_request) Successful in 29s
CI / Docker Build (pull_request) Has been skipped
Code Quality / Code Quality Checks (pull_request) Successful in 31s
Code Quality / Security Audit (pull_request) Successful in 9s
Code Quality / Bundle Size Check (pull_request) Successful in 26s
CI / E2E Tests (pull_request) Failing after 5m44s
2f4484d81f
- Replace the tests for the dropdown filters with tests for the filter
  panel: groups, toggling, multiple values, hidden values and reset
- Add a test for the selection mode
test(e2e): fix the e2e tests for the new list and the Forgejo runner
Some checks failed
CI / Lint (pull_request) Successful in 24s
CI / Test (pull_request) Successful in 1m23s
CI / Build (pull_request) Successful in 29s
CI / Docker Build (pull_request) Has been skipped
Code Quality / Code Quality Checks (pull_request) Successful in 31s
Code Quality / Security Audit (pull_request) Successful in 9s
Code Quality / Bundle Size Check (pull_request) Successful in 26s
CI / E2E Tests (pull_request) Failing after 2m43s
b1f3f37331
- Set the dev server variables only through webServer.env in the
  Playwright config, the inline variables fail on Windows
- Upload the Playwright artifacts with the Forgejo fork of
  upload-artifact v4, the original does not support Forgejo
- Replace the tests for the dropdown filters with tests for the filter
  panel: groups, toggling, multiple values, hidden values and reset
- Open collapsed filter groups before selecting a value and find the
  options inside the filter panel
- Wait for toasts to be gone instead of a container that is always there
- Find the tabs by their role and check that the Synced tab hides the
  unsynced devices
- Add a test for the selection mode
- Find the tabs by their role with an exact name and check that the
All checks were successful
CI / Lint (pull_request) Successful in 14s
CI / Test (pull_request) Successful in 1m26s
CI / Build (pull_request) Successful in 27s
CI / Docker Build (pull_request) Has been skipped
Code Quality / Code Quality Checks (pull_request) Successful in 32s
Code Quality / Security Audit (pull_request) Successful in 9s
Code Quality / Bundle Size Check (pull_request) Successful in 24s
CI / E2E Tests (pull_request) Successful in 2m11s
e362c308cd
Synced tab hides the unsynced devices
ci: load the Docker actions in the release workflow from GitHub
Some checks failed
Code Quality / Code Quality Checks (pull_request) Has been cancelled
Code Quality / Security Audit (pull_request) Has been cancelled
Code Quality / Bundle Size Check (pull_request) Has been cancelled
CI / Lint (pull_request) Has been cancelled
CI / Test (pull_request) Has been cancelled
CI / Build (pull_request) Has been cancelled
CI / E2E Tests (pull_request) Has been cancelled
CI / Docker Build (pull_request) Has been cancelled
e871ff85e0
- Use the full GitHub URLs, the runner resolves short names on
  data.forgejo.org
- Strip carriage returns when reading the version from config.yml
- Skip the release when it already exists and fall back to a short
  text when the changelog has no section for the version
mkrieger deleted branch chore/update-deps 2026-10-23 07:55:43 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mkrieger/alexa_share!2
No description provided.