diff --git a/.github/workflows/ecosystem-ci-from-pr.yml b/.github/workflows/ecosystem-ci-from-pr.yml index ea529eba..e2a18b52 100644 --- a/.github/workflows/ecosystem-ci-from-pr.yml +++ b/.github/workflows/ecosystem-ci-from-pr.yml @@ -39,6 +39,7 @@ on: options: - "-" - eslint-plugin-svelte + - immich - language-tools - mdsvex - melt-ui @@ -125,6 +126,7 @@ jobs: matrix: suite: - eslint-plugin-svelte + - immich - language-tools - mdsvex - melt-ui diff --git a/.github/workflows/ecosystem-ci-selected.yml b/.github/workflows/ecosystem-ci-selected.yml index 7e63fdf5..2bc0643b 100644 --- a/.github/workflows/ecosystem-ci-selected.yml +++ b/.github/workflows/ecosystem-ci-selected.yml @@ -41,6 +41,7 @@ on: type: choice options: - eslint-plugin-svelte + - immich - language-tools - mdsvex - melt-ui diff --git a/.github/workflows/ecosystem-ci.yml b/.github/workflows/ecosystem-ci.yml index 991b0ff3..2ba285a7 100644 --- a/.github/workflows/ecosystem-ci.yml +++ b/.github/workflows/ecosystem-ci.yml @@ -50,6 +50,7 @@ jobs: matrix: suite: - eslint-plugin-svelte + - immich - language-tools - mdsvex - melt-ui diff --git a/tests/immich.ts b/tests/immich.ts new file mode 100644 index 00000000..7db8c0d6 --- /dev/null +++ b/tests/immich.ts @@ -0,0 +1,24 @@ +import { runInRepo } from '../utils.ts' +import { RunOptions } from '../types.js' + +export async function test(options: RunOptions) { + await runInRepo({ + ...options, + repo: 'immich-app/immich', + branch: 'main', + overrides: { + '@sveltejs/vite-plugin-svelte': true, + '@sveltejs/vite-plugin-svelte-inspector': true, + '@sveltejs/kit': true, + 'svelte-check': true, + }, + build: [ + 'pnpm --dir open-api/typescript-sdk build', // required for web build + 'pnpm --dir web build', + ], + test: [ + 'pnpm --dir web test', // unit & component tests + 'pnpm --dir web check:svelte', // svelte-check + ], + }) +} diff --git a/utils.ts b/utils.ts index d706a1fd..40569188 100644 --- a/utils.ts +++ b/utils.ts @@ -172,7 +172,7 @@ function toCommand( task: Task | Task[] | void, agent: (typeof AGENTS)[number], ): ((scripts: any) => Promise) | void { - return async (scripts: any) => { + return async (scripts = {}) => { const tasks = Array.isArray(task) ? task : [task] for (const task of tasks) { if (task == null || task === '') {