From c5ee27bf62727bcf28debcf99340c59e75d23eae Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Fri, 15 May 2026 23:52:46 +0200 Subject: [PATCH 01/21] testing ci using external forgejo runner --- .gitea/workflows/ci.yml | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .gitea/workflows/ci.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..65b4a5e --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,57 @@ +name: CI (Lint + Format Checks) + +on: + pull_request: + +jobs: + lint: + runs-on: alpine + + container: alpine:latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + bash \ + git \ + python3 \ + py3-pip \ + nodejs \ + npm \ + rust + + - name: Python sanity check + run: | + python3 --version + pip install --no-cache-dir ruff + ruff check . || true + + - name: JS sanity check + run: | + node --version + npm --version + if [ -f package.json ]; then + npm install --no-audit --no-fund || true + npx eslint . || true + else + echo "No JS project found" + fi + + - name: Rust sanity check + run: | + rustc --version + if [ -f Cargo.toml ]; then + cargo check || true + cargo fmt --check || true + else + echo "No Rust project found" + fi + + - name: QML sanity check + run: | + echo "QML check (placeholder)" + find . -name "*.qml" | head -n 20 From 24526ca2d1c25d16a3bb7d905981d07f1d73daee Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Fri, 15 May 2026 23:56:30 +0200 Subject: [PATCH 02/21] runs on Linux, not alpine? --- .gitea/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 65b4a5e..4dd49e1 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -5,8 +5,7 @@ on: jobs: lint: - runs-on: alpine - + runs-on: linux container: alpine:latest steps: From 22a7993c072d5360d45e85732554a9e866bc377d Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Fri, 15 May 2026 23:59:39 +0200 Subject: [PATCH 03/21] test --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 4dd49e1..2fca34d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -5,7 +5,7 @@ on: jobs: lint: - runs-on: linux + runs-on: alpine container: alpine:latest steps: From 64e65ca9dfb37d4a3bf578f47635497797b02a4d Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:01:14 +0200 Subject: [PATCH 04/21] test --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2fca34d..2acac8a 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -6,7 +6,7 @@ on: jobs: lint: runs-on: alpine - container: alpine:latest + container: node:20-bookworm steps: - name: Checkout From c120dcae411d1c09a5d01c473ed4309b312ce495 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:04:50 +0200 Subject: [PATCH 05/21] added node as this is required --- .gitea/workflows/ci.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2acac8a..ddf9f78 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -6,7 +6,7 @@ on: jobs: lint: runs-on: alpine - container: node:20-bookworm + container: node:20-alpine steps: - name: Checkout @@ -19,8 +19,6 @@ jobs: git \ python3 \ py3-pip \ - nodejs \ - npm \ rust - name: Python sanity check From 17fef78672de4e9b6a5f1ca6f034644d191decdd Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:06:20 +0200 Subject: [PATCH 06/21] fix python venv in ci --- .gitea/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index ddf9f78..c766548 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -24,6 +24,8 @@ jobs: - name: Python sanity check run: | python3 --version + python3 -m venv .venv + . .venv/bin/activate pip install --no-cache-dir ruff ruff check . || true From 39cbfa2c93b1c1eff917f0e7f6bf1428919f3b18 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:16:17 +0200 Subject: [PATCH 07/21] minor adjustments and added .prettierrc.json --- .gitea/workflows/ci.yml | 54 +++++++++++++++++++++++++++++------------ .prettierrc.json | 13 ++++++++++ 2 files changed, 52 insertions(+), 15 deletions(-) create mode 100644 .prettierrc.json diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index c766548..5fb7c07 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -20,37 +20,61 @@ jobs: python3 \ py3-pip \ rust + apk add --no-cache qt6-qtdeclarative-dev-tools || \ + apk add --no-cache qt6-qtdeclarative-dev || \ + apk add --no-cache qt6-qtdeclarative || \ + echo "::warning::qmllint not available" - - name: Python sanity check + - name: Python lint run: | - python3 --version python3 -m venv .venv . .venv/bin/activate pip install --no-cache-dir ruff - ruff check . || true + if ! ruff check .; then + echo "::warning::ruff reported issues" + fi - - name: JS sanity check + - name: JS lint run: | - node --version - npm --version if [ -f package.json ]; then - npm install --no-audit --no-fund || true - npx eslint . || true + npm install --no-audit --no-fund + if ! npx eslint .; then + echo "::warning::eslint reported issues" + fi else echo "No JS project found" fi - - name: Rust sanity check + - name: JS format (prettier) + run: | + if [ -f package.json ]; then + if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then + echo "::warning::prettier reported issues" + fi + else + echo "No JS project found" + fi + + - name: Rust lint run: | - rustc --version if [ -f Cargo.toml ]; then - cargo check || true - cargo fmt --check || true + if ! cargo fmt --check; then + echo "::warning::rustfmt reported issues" + fi else echo "No Rust project found" fi - - name: QML sanity check + - name: QML lint run: | - echo "QML check (placeholder)" - find . -name "*.qml" | head -n 20 + if command -v qmllint >/dev/null 2>&1; then + if [ -n "$(find . -name "*.qml" -print -quit)" ]; then + if ! find . -name "*.qml" -print0 | xargs -0 qmllint; then + echo "::warning::qmllint reported issues" + fi + else + echo "No QML files found" + fi + else + echo "No qmllint in PATH" + fi diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..19ffb91 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,13 @@ +{ + "semi": true, + "singleQuote": true, + "jsxSingleQuote": false, + "tabWidth": 4, + "printWidth": 100, + "trailingComma": "es5", + "bracketSpacing": true, + "bracketSameLine": false, + "arrowParens": "always", + "endOfLine": "lf", + "proseWrap": "preserve" +} From 17fb9c0fefee510322fd2f141a1935563d21db12 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:24:06 +0200 Subject: [PATCH 08/21] apline-edge for qmllint --- .gitea/workflows/ci.yml | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 5fb7c07..21c13e4 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -14,6 +14,9 @@ jobs: - name: Install tools run: | + echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories + echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories + apk update apk add --no-cache \ bash \ git \ @@ -21,8 +24,6 @@ jobs: py3-pip \ rust apk add --no-cache qt6-qtdeclarative-dev-tools || \ - apk add --no-cache qt6-qtdeclarative-dev || \ - apk add --no-cache qt6-qtdeclarative || \ echo "::warning::qmllint not available" - name: Python lint @@ -36,23 +37,29 @@ jobs: - name: JS lint run: | - if [ -f package.json ]; then - npm install --no-audit --no-fund - if ! npx eslint .; then - echo "::warning::eslint reported issues" + if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then + if [ -f package.json ]; then + npm install --no-audit --no-fund + fi + if [ -f eslint.config.js ] || [ -f eslint.config.mjs ] || [ -f eslint.config.cjs ] || [ -f .eslintrc ] || [ -f .eslintrc.js ] || [ -f .eslintrc.cjs ] || [ -f .eslintrc.json ] || [ -f .eslintrc.yaml ] || [ -f .eslintrc.yml ]; then + if ! npx --yes eslint .; then + echo "::warning::eslint reported issues" + fi + else + echo "No eslint config found" fi else - echo "No JS project found" + echo "No JS/TS files found" fi - name: JS format (prettier) run: | - if [ -f package.json ]; then + if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then echo "::warning::prettier reported issues" fi else - echo "No JS project found" + echo "No JS/TS files found" fi - name: Rust lint From 783d05f815684144f64718ecfa37682442768420 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:25:32 +0200 Subject: [PATCH 09/21] test different repo apline --- .gitea/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 21c13e4..2b9dbd9 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -14,16 +14,17 @@ jobs: - name: Install tools run: | - echo "https://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories - echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories - apk update apk add --no-cache \ bash \ git \ python3 \ py3-pip \ rust - apk add --no-cache qt6-qtdeclarative-dev-tools || \ + edge_main="https://dl-cdn.alpinelinux.org/alpine/edge/main" + edge_community="https://dl-cdn.alpinelinux.org/alpine/edge/community" + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev-tools || \ + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev || \ + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative || \ echo "::warning::qmllint not available" - name: Python lint @@ -74,6 +75,7 @@ jobs: - name: QML lint run: | + export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" if command -v qmllint >/dev/null 2>&1; then if [ -n "$(find . -name "*.qml" -print -quit)" ]; then if ! find . -name "*.qml" -print0 | xargs -0 qmllint; then From 4ab19a8e374efdddb6de021342668999a5af8b6c Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:29:31 +0200 Subject: [PATCH 10/21] separate all workflows, better overview --- .gitea/workflows/ci.yml | 89 -------------------------------- .gitea/workflows/format-js.yml | 28 ++++++++++ .gitea/workflows/lint-js.yml | 35 +++++++++++++ .gitea/workflows/lint-python.yml | 29 +++++++++++ .gitea/workflows/lint-qml.yml | 39 ++++++++++++++ .gitea/workflows/lint-rust.yml | 29 +++++++++++ 6 files changed, 160 insertions(+), 89 deletions(-) delete mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitea/workflows/format-js.yml create mode 100644 .gitea/workflows/lint-js.yml create mode 100644 .gitea/workflows/lint-python.yml create mode 100644 .gitea/workflows/lint-qml.yml create mode 100644 .gitea/workflows/lint-rust.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml deleted file mode 100644 index 2b9dbd9..0000000 --- a/.gitea/workflows/ci.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: CI (Lint + Format Checks) - -on: - pull_request: - -jobs: - lint: - runs-on: alpine - container: node:20-alpine - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install tools - run: | - apk add --no-cache \ - bash \ - git \ - python3 \ - py3-pip \ - rust - edge_main="https://dl-cdn.alpinelinux.org/alpine/edge/main" - edge_community="https://dl-cdn.alpinelinux.org/alpine/edge/community" - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev-tools || \ - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev || \ - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative || \ - echo "::warning::qmllint not available" - - - name: Python lint - run: | - python3 -m venv .venv - . .venv/bin/activate - pip install --no-cache-dir ruff - if ! ruff check .; then - echo "::warning::ruff reported issues" - fi - - - name: JS lint - run: | - if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then - if [ -f package.json ]; then - npm install --no-audit --no-fund - fi - if [ -f eslint.config.js ] || [ -f eslint.config.mjs ] || [ -f eslint.config.cjs ] || [ -f .eslintrc ] || [ -f .eslintrc.js ] || [ -f .eslintrc.cjs ] || [ -f .eslintrc.json ] || [ -f .eslintrc.yaml ] || [ -f .eslintrc.yml ]; then - if ! npx --yes eslint .; then - echo "::warning::eslint reported issues" - fi - else - echo "No eslint config found" - fi - else - echo "No JS/TS files found" - fi - - - name: JS format (prettier) - run: | - if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then - if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then - echo "::warning::prettier reported issues" - fi - else - echo "No JS/TS files found" - fi - - - name: Rust lint - run: | - if [ -f Cargo.toml ]; then - if ! cargo fmt --check; then - echo "::warning::rustfmt reported issues" - fi - else - echo "No Rust project found" - fi - - - name: QML lint - run: | - export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" - if command -v qmllint >/dev/null 2>&1; then - if [ -n "$(find . -name "*.qml" -print -quit)" ]; then - if ! find . -name "*.qml" -print0 | xargs -0 qmllint; then - echo "::warning::qmllint reported issues" - fi - else - echo "No QML files found" - fi - else - echo "No qmllint in PATH" - fi diff --git a/.gitea/workflows/format-js.yml b/.gitea/workflows/format-js.yml new file mode 100644 index 0000000..4ad9cb8 --- /dev/null +++ b/.gitea/workflows/format-js.yml @@ -0,0 +1,28 @@ +name: Format (JS/TS) + +on: + pull_request: + +jobs: + format: + runs-on: alpine + container: node:20-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + git + + - name: Prettier + run: | + if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then + if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then + echo "::warning::prettier reported issues" + fi + else + echo "No JS/TS files found" + fi diff --git a/.gitea/workflows/lint-js.yml b/.gitea/workflows/lint-js.yml new file mode 100644 index 0000000..1f4bea3 --- /dev/null +++ b/.gitea/workflows/lint-js.yml @@ -0,0 +1,35 @@ +name: Lint (JS/TS) + +on: + pull_request: + +jobs: + lint: + runs-on: alpine + container: node:20-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + git + + - name: ESLint + run: | + if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then + if [ -f package.json ]; then + npm install --no-audit --no-fund + fi + if [ -f eslint.config.js ] || [ -f eslint.config.mjs ] || [ -f eslint.config.cjs ] || [ -f .eslintrc ] || [ -f .eslintrc.js ] || [ -f .eslintrc.cjs ] || [ -f .eslintrc.json ] || [ -f .eslintrc.yaml ] || [ -f .eslintrc.yml ]; then + if ! npx --yes eslint .; then + echo "::warning::eslint reported issues" + fi + else + echo "No eslint config found" + fi + else + echo "No JS/TS files found" + fi diff --git a/.gitea/workflows/lint-python.yml b/.gitea/workflows/lint-python.yml new file mode 100644 index 0000000..2bd74ec --- /dev/null +++ b/.gitea/workflows/lint-python.yml @@ -0,0 +1,29 @@ +name: Lint (Python) + +on: + pull_request: + +jobs: + lint: + runs-on: alpine + container: node:20-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + git \ + python3 \ + py3-pip + + - name: Ruff + run: | + python3 -m venv .venv + . .venv/bin/activate + pip install --no-cache-dir ruff + if ! ruff check .; then + echo "::warning::ruff reported issues" + fi diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml new file mode 100644 index 0000000..3d77e4e --- /dev/null +++ b/.gitea/workflows/lint-qml.yml @@ -0,0 +1,39 @@ +name: Lint (QML) + +on: + pull_request: + +jobs: + lint: + runs-on: alpine + container: node:20-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + git + edge_main="https://dl-cdn.alpinelinux.org/alpine/edge/main" + edge_community="https://dl-cdn.alpinelinux.org/alpine/edge/community" + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev-tools || \ + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev || \ + apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative || \ + echo "::warning::qmllint not available" + + - name: QML lint + run: | + export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" + if command -v qmllint >/dev/null 2>&1; then + if [ -n "$(find . -name "*.qml" -print -quit)" ]; then + if ! find . -name "*.qml" -print0 | xargs -0 qmllint; then + echo "::warning::qmllint reported issues" + fi + else + echo "No QML files found" + fi + else + echo "No qmllint in PATH" + fi diff --git a/.gitea/workflows/lint-rust.yml b/.gitea/workflows/lint-rust.yml new file mode 100644 index 0000000..97d2adc --- /dev/null +++ b/.gitea/workflows/lint-rust.yml @@ -0,0 +1,29 @@ +name: Lint (Rust) + +on: + pull_request: + +jobs: + lint: + runs-on: alpine + container: node:20-alpine + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install tools + run: | + apk add --no-cache \ + git \ + rust + + - name: Rustfmt + run: | + if [ -f Cargo.toml ]; then + if ! cargo fmt --check; then + echo "::warning::rustfmt reported issues" + fi + else + echo "No Rust project found" + fi From af04e5d22720d5bfe8925f7d010020a733de5116 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:31:35 +0200 Subject: [PATCH 11/21] case sensitivity --- .gitea/workflows/format-js.yml | 2 +- .gitea/workflows/lint-js.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/format-js.yml b/.gitea/workflows/format-js.yml index 4ad9cb8..cd0a11b 100644 --- a/.gitea/workflows/format-js.yml +++ b/.gitea/workflows/format-js.yml @@ -19,7 +19,7 @@ jobs: - name: Prettier run: | - if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then + if [ -n "$(find . \( -iname "*.js" -o -iname "*.jsx" -o -iname "*.ts" -o -iname "*.tsx" -o -iname "*.mjs" -o -iname "*.cjs" \) -print -quit)" ]; then if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then echo "::warning::prettier reported issues" fi diff --git a/.gitea/workflows/lint-js.yml b/.gitea/workflows/lint-js.yml index 1f4bea3..381aa5c 100644 --- a/.gitea/workflows/lint-js.yml +++ b/.gitea/workflows/lint-js.yml @@ -19,7 +19,7 @@ jobs: - name: ESLint run: | - if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then + if [ -n "$(find . \( -iname "*.js" -o -iname "*.jsx" -o -iname "*.ts" -o -iname "*.tsx" -o -iname "*.mjs" -o -iname "*.cjs" \) -print -quit)" ]; then if [ -f package.json ]; then npm install --no-audit --no-fund fi From e874c19ee212bfb0d988a943a1e1d1efc0dbf990 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:33:37 +0200 Subject: [PATCH 12/21] now should report issue when incorrect --- .gitea/workflows/format-js.yml | 4 +--- .gitea/workflows/lint-js.yml | 4 +--- .gitea/workflows/lint-python.yml | 4 +--- .gitea/workflows/lint-qml.yml | 4 +--- .gitea/workflows/lint-rust.yml | 4 +--- 5 files changed, 5 insertions(+), 15 deletions(-) diff --git a/.gitea/workflows/format-js.yml b/.gitea/workflows/format-js.yml index cd0a11b..d07d9ea 100644 --- a/.gitea/workflows/format-js.yml +++ b/.gitea/workflows/format-js.yml @@ -20,9 +20,7 @@ jobs: - name: Prettier run: | if [ -n "$(find . \( -iname "*.js" -o -iname "*.jsx" -o -iname "*.ts" -o -iname "*.tsx" -o -iname "*.mjs" -o -iname "*.cjs" \) -print -quit)" ]; then - if ! npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore; then - echo "::warning::prettier reported issues" - fi + npx --yes prettier --check "**/*.{js,jsx,ts,tsx,mjs,cjs}" --ignore-path .gitignore else echo "No JS/TS files found" fi diff --git a/.gitea/workflows/lint-js.yml b/.gitea/workflows/lint-js.yml index 381aa5c..93cce6c 100644 --- a/.gitea/workflows/lint-js.yml +++ b/.gitea/workflows/lint-js.yml @@ -24,9 +24,7 @@ jobs: npm install --no-audit --no-fund fi if [ -f eslint.config.js ] || [ -f eslint.config.mjs ] || [ -f eslint.config.cjs ] || [ -f .eslintrc ] || [ -f .eslintrc.js ] || [ -f .eslintrc.cjs ] || [ -f .eslintrc.json ] || [ -f .eslintrc.yaml ] || [ -f .eslintrc.yml ]; then - if ! npx --yes eslint .; then - echo "::warning::eslint reported issues" - fi + npx --yes eslint . else echo "No eslint config found" fi diff --git a/.gitea/workflows/lint-python.yml b/.gitea/workflows/lint-python.yml index 2bd74ec..c029d82 100644 --- a/.gitea/workflows/lint-python.yml +++ b/.gitea/workflows/lint-python.yml @@ -24,6 +24,4 @@ jobs: python3 -m venv .venv . .venv/bin/activate pip install --no-cache-dir ruff - if ! ruff check .; then - echo "::warning::ruff reported issues" - fi + ruff check . diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 3d77e4e..1cf63f4 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -28,9 +28,7 @@ jobs: export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" if command -v qmllint >/dev/null 2>&1; then if [ -n "$(find . -name "*.qml" -print -quit)" ]; then - if ! find . -name "*.qml" -print0 | xargs -0 qmllint; then - echo "::warning::qmllint reported issues" - fi + find . -name "*.qml" -print0 | xargs -0 qmllint else echo "No QML files found" fi diff --git a/.gitea/workflows/lint-rust.yml b/.gitea/workflows/lint-rust.yml index 97d2adc..1f81769 100644 --- a/.gitea/workflows/lint-rust.yml +++ b/.gitea/workflows/lint-rust.yml @@ -21,9 +21,7 @@ jobs: - name: Rustfmt run: | if [ -f Cargo.toml ]; then - if ! cargo fmt --check; then - echo "::warning::rustfmt reported issues" - fi + cargo fmt --check else echo "No Rust project found" fi From 6f8af9028b8d16e9c307bccc4a239ea14d5c9a7d Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:35:18 +0200 Subject: [PATCH 13/21] added eslint config --- .eslintrc.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..9fda3ef --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "parserOptions": { + "ecmaVersion": 2021, + "sourceType": "module" + }, + "extends": [ + "eslint:recommended" + ] +} From beb1d967500291f157aa2fe164d1a6084921225e Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:37:20 +0200 Subject: [PATCH 14/21] added eslint config --- .eslintrc.json | 13 ------------- eslint.config.js | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 13 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 eslint.config.js diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 9fda3ef..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true - }, - "parserOptions": { - "ecmaVersion": 2021, - "sourceType": "module" - }, - "extends": [ - "eslint:recommended" - ] -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..e54c60b --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,14 @@ +export default [ + { + files: ["**/*.{js,jsx,ts,tsx,mjs,cjs}"], + languageOptions: { + ecmaVersion: 2021, + sourceType: "module" + }, + linterOptions: { + reportUnusedDisableDirectives: true + }, + rules: { + } + } +]; From 383671344f026a18261a4e8b8d5e43092c7d926e Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:41:11 +0200 Subject: [PATCH 15/21] qml goes to Ubuntu for simplicity --- .gitea/workflows/lint-qml.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 1cf63f4..509022f 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -5,8 +5,8 @@ on: jobs: lint: - runs-on: alpine - container: node:20-alpine + runs-on: ubuntu + container: ubuntu:24.04 steps: - name: Checkout @@ -14,18 +14,13 @@ jobs: - name: Install tools run: | - apk add --no-cache \ - git - edge_main="https://dl-cdn.alpinelinux.org/alpine/edge/main" - edge_community="https://dl-cdn.alpinelinux.org/alpine/edge/community" - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev-tools || \ - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative-dev || \ - apk add --no-cache -X "$edge_main" -X "$edge_community" qt6-qtdeclarative || \ - echo "::warning::qmllint not available" + apt-get update + apt-get install -y --no-install-recommends \ + git \ + qt6-declarative-dev-tools - name: QML lint run: | - export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" if command -v qmllint >/dev/null 2>&1; then if [ -n "$(find . -name "*.qml" -print -quit)" ]; then find . -name "*.qml" -print0 | xargs -0 qmllint From fb2c9c6a218b518c801b727dee677e4ccbb2d05d Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:43:03 +0200 Subject: [PATCH 16/21] qml goes to debian:sid for simplicity --- .gitea/workflows/lint-qml.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 509022f..25563b4 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -5,8 +5,8 @@ on: jobs: lint: - runs-on: ubuntu - container: ubuntu:24.04 + runs-on: debian + container: debian:sid steps: - name: Checkout From e7e772ebc699ab59d55e6b0d1d8367888b48c606 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:50:26 +0200 Subject: [PATCH 17/21] qml needs node --- .gitea/workflows/lint-qml.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 25563b4..85b8951 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -9,16 +9,18 @@ jobs: container: debian:sid steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install tools run: | apt-get update apt-get install -y --no-install-recommends \ git \ + nodejs \ + npm \ qt6-declarative-dev-tools + - name: Checkout + uses: actions/checkout@v4 + - name: QML lint run: | if command -v qmllint >/dev/null 2>&1; then From c67a498f8df351f46cb932188529045ba9dd52e3 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 00:53:49 +0200 Subject: [PATCH 18/21] qml path issue fixed --- .gitea/workflows/lint-qml.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 85b8951..9d9a1ec 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -23,6 +23,7 @@ jobs: - name: QML lint run: | + export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" if command -v qmllint >/dev/null 2>&1; then if [ -n "$(find . -name "*.qml" -print -quit)" ]; then find . -name "*.qml" -print0 | xargs -0 qmllint From 3a05cd339d40ecbcaef80143df6d66fa82875e49 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 01:03:26 +0200 Subject: [PATCH 19/21] qml to arch --- .gitea/workflows/lint-qml.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index 9d9a1ec..c162f26 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -5,18 +5,18 @@ on: jobs: lint: - runs-on: debian - container: debian:sid + runs-on: arch + container: archlinux:latest steps: - name: Install tools run: | - apt-get update - apt-get install -y --no-install-recommends \ + pacman -Syu --noconfirm + pacman -S --noconfirm \ git \ nodejs \ npm \ - qt6-declarative-dev-tools + qt6-declarative - name: Checkout uses: actions/checkout@v4 From f57577fefd606051101faecdbad955c4d3f77529 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 01:11:17 +0200 Subject: [PATCH 20/21] aur to arch --- .gitea/workflows/lint-qml.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml index c162f26..447ab1f 100644 --- a/.gitea/workflows/lint-qml.yml +++ b/.gitea/workflows/lint-qml.yml @@ -13,11 +13,21 @@ jobs: run: | pacman -Syu --noconfirm pacman -S --noconfirm \ + base-devel \ git \ nodejs \ npm \ + sudo \ qt6-declarative + - name: Install quickshell-git (AUR) + run: | + useradd -m builder + echo "builder ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/builder + chmod 440 /etc/sudoers.d/builder + su - builder -c "cd /tmp && git clone https://aur.archlinux.org/quickshell-git.git" + su - builder -c "cd /tmp/quickshell-git && makepkg -si --noconfirm --needed" + - name: Checkout uses: actions/checkout@v4 From 6a8ad4dbf2af6d2468facd1a080639e4135c939c Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Sat, 16 May 2026 01:15:42 +0200 Subject: [PATCH 21/21] removal qml linter, not worth --- .gitea/workflows/lint-qml.yml | 45 ----------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 .gitea/workflows/lint-qml.yml diff --git a/.gitea/workflows/lint-qml.yml b/.gitea/workflows/lint-qml.yml deleted file mode 100644 index 447ab1f..0000000 --- a/.gitea/workflows/lint-qml.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Lint (QML) - -on: - pull_request: - -jobs: - lint: - runs-on: arch - container: archlinux:latest - - steps: - - name: Install tools - run: | - pacman -Syu --noconfirm - pacman -S --noconfirm \ - base-devel \ - git \ - nodejs \ - npm \ - sudo \ - qt6-declarative - - - name: Install quickshell-git (AUR) - run: | - useradd -m builder - echo "builder ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/builder - chmod 440 /etc/sudoers.d/builder - su - builder -c "cd /tmp && git clone https://aur.archlinux.org/quickshell-git.git" - su - builder -c "cd /tmp/quickshell-git && makepkg -si --noconfirm --needed" - - - name: Checkout - uses: actions/checkout@v4 - - - name: QML lint - run: | - export PATH="$PATH:/usr/lib/qt6/bin:/usr/lib/qt6/libexec" - if command -v qmllint >/dev/null 2>&1; then - if [ -n "$(find . -name "*.qml" -print -quit)" ]; then - find . -name "*.qml" -print0 | xargs -0 qmllint - else - echo "No QML files found" - fi - else - echo "No qmllint in PATH" - fi