name: Node-CI on: push: branches: [main] paths-ignore: - '**.md' - 'docs/**' pull_request: branches: [main] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true permissions: contents: read jobs: lint: runs-on: ubuntu-24.04 steps: - name: Gitea Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Node.js uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: '22' cache: 'npm' - name: Install dependencies run: npm ci - name: Run linter run: npm run lint - name: Notify Google Chat if: ${{ failure() }} # Use always to ensure that the notification is also send on failure of former steps uses: SimonScholz/google-chat-action@3b3519e5102dba8aa5046fd711c4b553586409bb # v1.1.0 with: webhookUrl: '${{ secrets.GOOGLE_CHAT_WEBHOOK }}' jobStatus: ${{ job.status }} title: Lint failed test: runs-on: ubuntu-24.04 steps: - name: Gitea Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Node.js uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: '22' cache: 'npm' - name: Install dependencies run: npm ci - name: Run tests run: npm test - name: Notify Google Chat if: ${{ failure() }} # Use always to ensure that the notification is also send on failure of former steps uses: SimonScholz/google-chat-action@3b3519e5102dba8aa5046fd711c4b553586409bb # v1.1.0 with: webhookUrl: '${{ secrets.GOOGLE_CHAT_WEBHOOK }}' jobStatus: ${{ job.status }} title: Test failed