diff --git a/.github/workflows/desktop.codeql.yml b/.github/workflows/desktop.codeql.yml new file mode 100644 index 000000000..37b04d9b9 --- /dev/null +++ b/.github/workflows/desktop.codeql.yml @@ -0,0 +1,58 @@ +name: desktop CodeQL +on: + push: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.codeql.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.codeql.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + timeout-minutes: 360 + permissions: + security-events: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: javascript-typescript + queries: security-and-quality + source-root: desktop + - name: Setup Node.js environment ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm run language + - name: Perform CodeQL Analysis + uses: github/codeql-actions/analyze@v3 + with: + category: "/language:javascript-typescript" diff --git a/.github/workflows/desktop.eslint.yml b/.github/workflows/desktop.eslint.yml new file mode 100644 index 000000000..e2cfdc25e --- /dev/null +++ b/.github/workflows/desktop.eslint.yml @@ -0,0 +1,47 @@ +name: desktop ESLINT +on: + push: + branches: + - the-one + paths: + - "desktop/**.ts" + - "desktop/**.tsx" + - "desktop/**.js" + - "desktop/**.cjs" + - "desktop/**.json" + - "desktop/**.vue" + - ".github/workflows/desktop.eslint.yml" + pull_request: + branches: + - the-one + paths: + - "desktop/**.ts" + - "desktop/**.tsx" + - "desktop/**.js" + - "desktop/**.cjs" + - "desktop/**.json" + - "desktop/**.vue" + - ".github/workflows/desktop.eslint.yml" +env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4.0.2 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: "npm" + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: npm ci + - run: cd desktop && npm ci + - run: cd desktop && npm run language + - run: cd desktop && npm run lint diff --git a/.github/workflows/desktop.fta.yml b/.github/workflows/desktop.fta.yml new file mode 100644 index 000000000..e476adf0a --- /dev/null +++ b/.github/workflows/desktop.fta.yml @@ -0,0 +1,46 @@ +name: desktop FTA +on: + push: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/**.json' + - 'desktop/**.vue' + - '.github/workflows/desktop.fta.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/**.json' + - 'desktop/**.vue' + - '.github/workflows/desktop.fta.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: npm ci + - run: cd desktop && npm ci && npm run language + - run: npm run fta -- desktop || true diff --git a/.github/workflows/desktop.knip.yml b/.github/workflows/desktop.knip.yml new file mode 100644 index 000000000..c05ddc9c5 --- /dev/null +++ b/.github/workflows/desktop.knip.yml @@ -0,0 +1,47 @@ +name: desktop Knip +on: + push: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/**.json' + - 'desktop/**.vue' + - '.github/workflows/desktop.knip.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/**.ts' + - 'desktop/**.tsx' + - 'desktop/**.js' + - 'desktop/**.cjs' + - 'desktop/**.json' + - 'desktop/**.vue' + - '.github/workflows/desktop.knip.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + documentation-website/package-lock.json + package-lock.json + - run: npm ci + - run: cd desktop && npm ci + - run: cd desktop && npm run language + - run: cd desktop && npm run Knip diff --git a/.github/workflows/desktop.language.yml b/.github/workflows/desktop.language.yml new file mode 100644 index 000000000..69b64ff05 --- /dev/null +++ b/.github/workflows/desktop.language.yml @@ -0,0 +1,35 @@ +name: desktop language lint +on: + push: + branches: + - the-one + paths: + - 'desktop/language/*.yml' + - '.github/workflows/desktop.language-lint.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/language/*.yml' + - '.github/workflows/desktop.language-lint.yml' + env: + CURRENT_NODE_VERSION: ${{ env.CURRENT_NODE_VERSION || 'latest' } + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: npm ci + - run: npm run check-language -- desktop diff --git a/.github/workflows/desktop.license-check.yml b/.github/workflows/desktop.license-check.yml new file mode 100644 index 000000000..bc166cf24 --- /dev/null +++ b/.github/workflows/desktop.license-check.yml @@ -0,0 +1,35 @@ +name: desktop license lint +on: + push: + branches: + - the-one + paths: + - 'desktop/package-lock.json' + - '.github/workflows/desktop.license-check.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/package-lock.json' + - '.github/workflows/documentation-website.license-check.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + documentation-website/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + documentation-website/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm license-checker -- -production --onlyAllow="MIT;ISC;Apache-2.0;BSD-2-Clause;BSD-3-Clause;Python-2.0;LGPL-2.1;GPL-2.0;BlueOak-1.0.0;CC0-1.0;0BSD;WTFPL;Unlicense" diff --git a/.github/workflows/desktop.mdlint.yml b/.github/workflows/desktop.mdlint.yml new file mode 100644 index 000000000..fcbc99ed7 --- /dev/null +++ b/.github/workflows/desktop.mdlint.yml @@ -0,0 +1,37 @@ +nanme: desktop MARKDOWN-LINT +on: + push: + branches: + - the-one + paths: + - 'desktop/*.md' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.mdlint.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/*.md' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.mdlint.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm run lint-md diff --git a/.github/workflows/desktop.spellcheck.yml b/.github/workflows/desktop.spellcheck.yml new file mode 100644 index 000000000..bf5b5185e --- /dev/null +++ b/.github/workflows/desktop.spellcheck.yml @@ -0,0 +1,37 @@ +name: desktop spellcheck +on: + push: + branches: + - the-one + paths: + - 'desktop/language/en.yml' + - '.github/workflows/desktop.spellcheck.yml' + - '.dictionary.txt' + pull_request: + branches: + - the-one + paths: + - 'desktop/language/en.yml' + - '.github/workflows/desktop.spellcheck.yml' + - '.dictionary.txt' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + documentation-website/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm run spellcheck diff --git a/.github/workflows/desktop.stylelint.yml b/.github/workflows/desktop.stylelint.yml new file mode 100644 index 000000000..f3e687efd --- /dev/null +++ b/.github/workflows/desktop.stylelint.yml @@ -0,0 +1,55 @@ +name: desktop STYLELINT +on: + push: + branches: + - the-one + paths: + - 'desktop/**.scss' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.stylelint.yml' + pull_request: + branches: + - the-one + paths: + - 'desktop/**.scss' + - 'desktop/package-lock.json' + - '.github/workflows/desktop.stylelint.yml' + env: + CURRENT_NODE_VERSION: ${{ vars.CURRENT_NODE_VERSION || 'latest' }} + jobs: + stylelint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/setup-node@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm run lint-styles + duplicate-style-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Use Node.js ${{ env.CURRENT_NODE_VERSION }} + uses: actions/checkout@v4 + with: + node-version: ${{ env.CURRENT_NODE_VERSION }} + cache: 'npm' + cache-dependency-path: | + framework/package-lock.json + documentation-website/package-lock.json + history-microservice/package-lock.json + history-website/package-lock.json + cli/package-lock.json + package-lock.json + - run: cd desktop && npm ci + - run: cd desktop && npm run lint-css