fix(portal,tls): DNS-Prüfung des zusammengesetzten Portal-Hosts + Ver… #1200
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| registry-url: https://npm.pkg.github.com/ | |
| scope: '@callmetechie' | |
| - run: npm ci | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }} | |
| - name: Vendored template drift check | |
| run: node scripts/check-vendored-templates.js | |
| - name: Run tests with coverage | |
| run: npx c8 --reporter=text --reporter=lcov --lines 40 npm test | |
| env: | |
| NODE_ENV: test | |
| - name: Upload coverage report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: coverage/ | |
| eslint-security: | |
| name: ESLint Security | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| registry-url: https://npm.pkg.github.com/ | |
| scope: '@callmetechie' | |
| - name: Install ESLint with security plugin | |
| run: npm install --no-save eslint@8 eslint-plugin-security@1.7.1 | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }} | |
| - name: Create security ESLint config | |
| run: | | |
| cat > .eslintrc.security.json << 'ESLINTEOF' | |
| { | |
| "plugins": ["security"], | |
| "extends": ["plugin:security/recommended"], | |
| "env": { "node": true, "es2022": true }, | |
| "parserOptions": { "ecmaVersion": 2022 }, | |
| "rules": { | |
| "security/detect-eval-with-expression": "error", | |
| "security/detect-non-literal-fs-filename": "warn", | |
| "security/detect-non-literal-require": "warn", | |
| "security/detect-possible-timing-attacks": "warn", | |
| "security/detect-child-process": "warn" | |
| } | |
| } | |
| ESLINTEOF | |
| - name: Run ESLint security scan | |
| run: npx eslint -c .eslintrc.security.json "src/**/*.js" "public/**/*.js" --no-eslintrc --format stylish | |
| mutation: | |
| name: Mutation tests (gateway) | |
| runs-on: ubuntu-latest | |
| needs: test | |
| if: | | |
| github.event_name == 'push' || | |
| contains(github.event.pull_request.labels.*.name, 'mutation-test') | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| registry-url: https://npm.pkg.github.com/ | |
| scope: '@callmetechie' | |
| - name: Install deps | |
| run: npm ci | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.GH_PACKAGES_TOKEN }} | |
| - name: Mutation test | |
| run: npx stryker run || true | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: mutation-report | |
| path: reports/mutation/ |