From c640071bf520b843e7660ea739600b157e57f7d1 Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Wed, 23 Apr 2025 13:30:42 +0200 Subject: [PATCH 1/6] feat(rules): add code quality cursor rules - Add no-apologies rule - Add no-summaries rule - Add no-unnecessary-confirmations rule - Add no-unnecessary-updates rule - Add preserve-existing-code rule - Add single-chunk-edits rule - Add verify-information rule These rules will help maintain consistent and high-quality AI interactions in the project. --- .cursor/rules/conventional-commits.mdc | 67 +++++++++++++++++++ .cursor/rules/docker-configuration.mdc | 33 +++++++++ .cursor/rules/no-apologies-rule.mdc | 6 ++ .cursor/rules/no-summaries-rule.mdc | 6 ++ .../no-unnecessary-confirmations-rule.mdc | 6 ++ .cursor/rules/no-unnecessary-updates-rule.mdc | 6 ++ .cursor/rules/preserve-existing-code-rule.mdc | 6 ++ .cursor/rules/project-structure.mdc | 28 ++++++++ .cursor/rules/service-configuration.mdc | 31 +++++++++ .cursor/rules/single-chunk-edits-rule.mdc | 6 ++ .cursor/rules/verify-information-rule.mdc | 5 ++ .gitignore | 13 +++- 12 files changed, 211 insertions(+), 2 deletions(-) create mode 100644 .cursor/rules/conventional-commits.mdc create mode 100644 .cursor/rules/docker-configuration.mdc create mode 100644 .cursor/rules/no-apologies-rule.mdc create mode 100644 .cursor/rules/no-summaries-rule.mdc create mode 100644 .cursor/rules/no-unnecessary-confirmations-rule.mdc create mode 100644 .cursor/rules/no-unnecessary-updates-rule.mdc create mode 100644 .cursor/rules/preserve-existing-code-rule.mdc create mode 100644 .cursor/rules/project-structure.mdc create mode 100644 .cursor/rules/service-configuration.mdc create mode 100644 .cursor/rules/single-chunk-edits-rule.mdc create mode 100644 .cursor/rules/verify-information-rule.mdc diff --git a/.cursor/rules/conventional-commits.mdc b/.cursor/rules/conventional-commits.mdc new file mode 100644 index 0000000..9ce9fda --- /dev/null +++ b/.cursor/rules/conventional-commits.mdc @@ -0,0 +1,67 @@ +--- +description: +globs: +alwaysApply: false +--- +# Conventional Commit Messages + +Use the Conventional Commit Messages specification to generate commit messages. + +## Commit Message Structure + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +## Commit Types + +- `fix`: Patches a bug in your codebase (correlates with PATCH in Semantic Versioning) +- `feat`: Introduces a new feature to the codebase (correlates with MINOR in Semantic Versioning) +- `BREAKING CHANGE`: Introduces a breaking API change (correlates with MAJOR in Semantic Versioning) +- Other allowed types: `build:`, `chore:`, `ci:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:` + +## Specification Details + +1. Commits MUST be prefixed with a type, followed by an OPTIONAL scope, OPTIONAL !, and REQUIRED terminal colon and space +2. The type `feat` MUST be used when adding a new feature +3. The type `fix` MUST be used when fixing a bug +4. A scope MAY be provided after a type, surrounded by parenthesis (e.g., `fix(parser):`) +5. A description MUST immediately follow the colon and space +6. A longer commit body MAY be provided after the short description +7. One or more footers MAY be provided one blank line after the body +8. Breaking changes MUST be indicated in the type/scope prefix or as a footer +9. If included as a footer, a breaking change MUST use: `BREAKING CHANGE: description` +10. If included in the type/scope prefix, breaking changes MUST use `!` before the `:` +11. Types other than `feat` and `fix` MAY be used +12. Information MUST NOT be treated as case sensitive, except for `BREAKING CHANGE` +13. `BREAKING-CHANGE` MUST be synonymous with `BREAKING CHANGE` + +## Examples + +``` +feat: add new authentication system + +This commit adds a new authentication system using JWT tokens. +The system supports both local and OAuth authentication methods. + +BREAKING CHANGE: Authentication endpoints have been moved to /api/v2/auth +``` + +``` +fix(parser): handle empty input gracefully + +Previously, the parser would throw an error when given empty input. +This commit adds proper handling for empty input cases. +``` + +``` +chore: update dependencies + +- Update React to v18.2.0 +- Update TypeScript to v4.9.5 +- Update Jest to v29.5.0 +``` diff --git a/.cursor/rules/docker-configuration.mdc b/.cursor/rules/docker-configuration.mdc new file mode 100644 index 0000000..ad2ab8d --- /dev/null +++ b/.cursor/rules/docker-configuration.mdc @@ -0,0 +1,33 @@ +--- +description: +globs: +alwaysApply: false +--- +# Docker Configuration Guide + +## Service Configuration +The [docker-compose.yml](mdc:docker-compose.yml) file defines all service configurations and their relationships. Key aspects include: +- Service dependencies +- Volume mounts +- Network configuration +- Environment variables +- Port mappings + +## Custom Images +Two custom Docker images are used: +1. [Dockerfile.n8n](mdc:Dockerfile.n8n) - Extends official n8n image with custom configurations +2. [Dockerfile.temporal](mdc:Dockerfile.temporal) - Extends official Temporal auto-setup image + +## Data Persistence +All service data is persisted in Docker volumes mapped to the local `volumes/` directory: +- n8n data: `./volumes/n8n_data` +- OpenSearch: `./volumes/opensearch-data` +- PostgreSQL: `./volumes/postgresql-data` + +## Network Configuration +Services communicate over an internal Docker network with the following exposed ports: +- n8n: 5678 (HTTP) +- Temporal: 7233 (gRPC) +- Temporal UI: 8080 (HTTP) +- PostgreSQL: 5432 +- OpenSearch: 9200 (HTTP) diff --git a/.cursor/rules/no-apologies-rule.mdc b/.cursor/rules/no-apologies-rule.mdc new file mode 100644 index 0000000..c2eec50 --- /dev/null +++ b/.cursor/rules/no-apologies-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Never use apologies diff --git a/.cursor/rules/no-summaries-rule.mdc b/.cursor/rules/no-summaries-rule.mdc new file mode 100644 index 0000000..c92cbd5 --- /dev/null +++ b/.cursor/rules/no-summaries-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Don't summarize changes made diff --git a/.cursor/rules/no-unnecessary-confirmations-rule.mdc b/.cursor/rules/no-unnecessary-confirmations-rule.mdc new file mode 100644 index 0000000..3862d6d --- /dev/null +++ b/.cursor/rules/no-unnecessary-confirmations-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Don't ask for confirmation of information already provided in the context diff --git a/.cursor/rules/no-unnecessary-updates-rule.mdc b/.cursor/rules/no-unnecessary-updates-rule.mdc new file mode 100644 index 0000000..dba3ee8 --- /dev/null +++ b/.cursor/rules/no-unnecessary-updates-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Don't suggest updates or changes to files when there are no actual modifications needed diff --git a/.cursor/rules/preserve-existing-code-rule.mdc b/.cursor/rules/preserve-existing-code-rule.mdc new file mode 100644 index 0000000..99fc0a6 --- /dev/null +++ b/.cursor/rules/preserve-existing-code-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Don't remove unrelated code or functionalities. Pay attention to preserving existing structures. diff --git a/.cursor/rules/project-structure.mdc b/.cursor/rules/project-structure.mdc new file mode 100644 index 0000000..1c6d531 --- /dev/null +++ b/.cursor/rules/project-structure.mdc @@ -0,0 +1,28 @@ +--- +description: +globs: +alwaysApply: false +--- +# Project Structure Guide + +This repository contains a Docker Compose setup for running n8n (workflow automation tool) and Temporal (workflow orchestration platform) services together. + +## Key Files +- [docker-compose.yml](mdc:docker-compose.yml) - Main service orchestration configuration +- [Dockerfile.n8n](mdc:Dockerfile.n8n) - Custom n8n image configuration +- [Dockerfile.temporal](mdc:Dockerfile.temporal) - Custom Temporal image configuration + +## Important Directories +- `volumes/` - Contains persistent data for all services: + - `n8n_data/` - n8n workflows and data + - `opensearch-data/` - OpenSearch data for Temporal + - `postgresql-data/` - PostgreSQL database for Temporal +- `scripts/` - Contains utility scripts for setup and maintenance + +## Service Architecture +The project consists of several interconnected services: +1. n8n (Port 5678) - Workflow automation tool +2. Temporal Server (Port 7233) - Workflow orchestration engine +3. Temporal UI (Port 8080) - Web interface for Temporal +4. PostgreSQL (Port 5432) - Database for Temporal +5. OpenSearch (Port 9200) - Search engine for Temporal visibility features diff --git a/.cursor/rules/service-configuration.mdc b/.cursor/rules/service-configuration.mdc new file mode 100644 index 0000000..f18dade --- /dev/null +++ b/.cursor/rules/service-configuration.mdc @@ -0,0 +1,31 @@ +--- +description: +globs: +alwaysApply: false +--- +# Service Configuration Guide + +## Setup Instructions +1. Run [scripts/setup_volumes.sh](mdc:scripts/setup_volumes.sh) to create required volume directories +2. Create `.env` file from `.env.example` for environment configuration +3. Use `docker compose up -d` to start all services + +## Service Health Verification +The [scripts/check_services.sh](mdc:scripts/check_services.sh) script verifies accessibility of: +- n8n health endpoint (http://localhost:5678/healthz) +- Temporal UI (http://localhost:8080) +- OpenSearch API (http://localhost:9200) +- Temporal server gRPC (localhost:7233) +- PostgreSQL database (localhost:5432) + +## Service Access +- n8n UI: http://localhost:5678 +- Temporal UI: http://localhost:8080 +- OpenSearch API: http://localhost:9200 + +## Troubleshooting +1. Check container logs using `docker logs` +2. Verify port availability +3. Ensure sufficient Docker resources +4. Run setup script for volume mount issues +5. Check service health endpoints diff --git a/.cursor/rules/single-chunk-edits-rule.mdc b/.cursor/rules/single-chunk-edits-rule.mdc new file mode 100644 index 0000000..5a84ea7 --- /dev/null +++ b/.cursor/rules/single-chunk-edits-rule.mdc @@ -0,0 +1,6 @@ +--- +description: +globs: +alwaysApply: false +--- +- Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file diff --git a/.cursor/rules/verify-information-rule.mdc b/.cursor/rules/verify-information-rule.mdc new file mode 100644 index 0000000..b93c988 --- /dev/null +++ b/.cursor/rules/verify-information-rule.mdc @@ -0,0 +1,5 @@ +--- +description: +globs: +alwaysApply: false +--- diff --git a/.gitignore b/.gitignore index 919b2ea..0c540a7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,10 +7,20 @@ yarn-error.log* lerna-debug.log* .pnpm-debug.log* +# IDE files and directories +.idea/ +.vscode/ + +*.swp +*.swo +.DS_Store + # mcp executable mcp mcp-config.json -.cursor/ +.cursor/* +!.cursor/rules/ + # JetBrains IDE .idea/ @@ -110,7 +120,6 @@ dist # vuepress v2.x temp and cache directory .temp -.cache # vitepress build output **/.vitepress/dist From 0562aa57d3c4d0baf10b85e34cbff69a6b81734e Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Wed, 23 Apr 2025 13:31:50 +0200 Subject: [PATCH 2/6] feat(rules): enhance verify-information rule with clarity on assumptions - Added a guideline to always verify information before presenting it, emphasizing the importance of clear evidence over speculation. --- .cursor/rules/verify-information-rule.mdc | 1 + 1 file changed, 1 insertion(+) diff --git a/.cursor/rules/verify-information-rule.mdc b/.cursor/rules/verify-information-rule.mdc index b93c988..5fb1466 100644 --- a/.cursor/rules/verify-information-rule.mdc +++ b/.cursor/rules/verify-information-rule.mdc @@ -3,3 +3,4 @@ description: globs: alwaysApply: false --- +- Always verify information before presenting it. Do not make assumptions or speculate without clear evidence. From 46579aa6651a94f2f463d0a718cc389c886db2aa Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Wed, 23 Apr 2025 16:35:47 +0200 Subject: [PATCH 3/6] feat(rules): update various rules with descriptions and glob patterns - Enhanced multiple rules by adding clear descriptions to improve understanding of their purpose. - Updated glob patterns for each rule to specify applicable file types, ensuring better application of the rules across the project. --- .cursor/rules/conventional-commits.mdc | 8 ++++---- .cursor/rules/docker-configuration.mdc | 8 ++++---- .cursor/rules/no-apologies-rule.mdc | 8 ++++---- .cursor/rules/no-summaries-rule.mdc | 8 ++++---- .cursor/rules/no-unnecessary-confirmations-rule.mdc | 8 ++++---- .cursor/rules/no-unnecessary-updates-rule.mdc | 8 ++++---- .cursor/rules/preserve-existing-code-rule.mdc | 8 ++++---- .cursor/rules/project-structure.mdc | 8 ++++---- .cursor/rules/service-configuration.mdc | 8 ++++---- .cursor/rules/single-chunk-edits-rule.mdc | 8 ++++---- .cursor/rules/verify-information-rule.mdc | 8 ++++---- 11 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.cursor/rules/conventional-commits.mdc b/.cursor/rules/conventional-commits.mdc index 9ce9fda..464944b 100644 --- a/.cursor/rules/conventional-commits.mdc +++ b/.cursor/rules/conventional-commits.mdc @@ -1,8 +1,8 @@ --- -description: -globs: -alwaysApply: false +description: "Enforces conventional commit message format for better version control and changelog generation" +globs: ["**/*"] --- + # Conventional Commit Messages Use the Conventional Commit Messages specification to generate commit messages. @@ -64,4 +64,4 @@ chore: update dependencies - Update React to v18.2.0 - Update TypeScript to v4.9.5 - Update Jest to v29.5.0 -``` +``` \ No newline at end of file diff --git a/.cursor/rules/docker-configuration.mdc b/.cursor/rules/docker-configuration.mdc index ad2ab8d..2b4308d 100644 --- a/.cursor/rules/docker-configuration.mdc +++ b/.cursor/rules/docker-configuration.mdc @@ -1,8 +1,8 @@ --- -description: -globs: -alwaysApply: false +description: "Provides guidelines for Docker service configuration and setup" +globs: ["docker-compose.yml", "Dockerfile*", "volumes/**/*"] --- + # Docker Configuration Guide ## Service Configuration @@ -30,4 +30,4 @@ Services communicate over an internal Docker network with the following exposed - Temporal: 7233 (gRPC) - Temporal UI: 8080 (HTTP) - PostgreSQL: 5432 -- OpenSearch: 9200 (HTTP) +- OpenSearch: 9200 (HTTP) \ No newline at end of file diff --git a/.cursor/rules/no-apologies-rule.mdc b/.cursor/rules/no-apologies-rule.mdc index c2eec50..0a597b1 100644 --- a/.cursor/rules/no-apologies-rule.mdc +++ b/.cursor/rules/no-apologies-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Prohibits the use of apologies in communication" +globs: ["**/*"] --- -- Never use apologies + +- Never use apologies \ No newline at end of file diff --git a/.cursor/rules/no-summaries-rule.mdc b/.cursor/rules/no-summaries-rule.mdc index c92cbd5..798c238 100644 --- a/.cursor/rules/no-summaries-rule.mdc +++ b/.cursor/rules/no-summaries-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Prohibits summarizing changes made in communication" +globs: ["**/*"] --- -- Don't summarize changes made + +- Don't summarize changes made \ No newline at end of file diff --git a/.cursor/rules/no-unnecessary-confirmations-rule.mdc b/.cursor/rules/no-unnecessary-confirmations-rule.mdc index 3862d6d..70f1d22 100644 --- a/.cursor/rules/no-unnecessary-confirmations-rule.mdc +++ b/.cursor/rules/no-unnecessary-confirmations-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Prohibits asking for confirmation of information already provided in context" +globs: ["**/*"] --- -- Don't ask for confirmation of information already provided in the context + +- Don't ask for confirmation of information already provided in the context \ No newline at end of file diff --git a/.cursor/rules/no-unnecessary-updates-rule.mdc b/.cursor/rules/no-unnecessary-updates-rule.mdc index dba3ee8..6fe1d52 100644 --- a/.cursor/rules/no-unnecessary-updates-rule.mdc +++ b/.cursor/rules/no-unnecessary-updates-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Prohibits suggesting updates or changes when no modifications are needed" +globs: ["**/*"] --- -- Don't suggest updates or changes to files when there are no actual modifications needed + +- Don't suggest updates or changes to files when there are no actual modifications needed \ No newline at end of file diff --git a/.cursor/rules/preserve-existing-code-rule.mdc b/.cursor/rules/preserve-existing-code-rule.mdc index 99fc0a6..f7597e2 100644 --- a/.cursor/rules/preserve-existing-code-rule.mdc +++ b/.cursor/rules/preserve-existing-code-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Ensures preservation of existing code and functionality during modifications" +globs: ["**/*"] --- -- Don't remove unrelated code or functionalities. Pay attention to preserving existing structures. + +- Don't remove unrelated code or functionalities. Pay attention to preserving existing structures. \ No newline at end of file diff --git a/.cursor/rules/project-structure.mdc b/.cursor/rules/project-structure.mdc index 1c6d531..5383e75 100644 --- a/.cursor/rules/project-structure.mdc +++ b/.cursor/rules/project-structure.mdc @@ -1,8 +1,8 @@ --- -description: -globs: -alwaysApply: false +description: "Documents the project structure and service architecture" +globs: ["**/*"] --- + # Project Structure Guide This repository contains a Docker Compose setup for running n8n (workflow automation tool) and Temporal (workflow orchestration platform) services together. @@ -25,4 +25,4 @@ The project consists of several interconnected services: 2. Temporal Server (Port 7233) - Workflow orchestration engine 3. Temporal UI (Port 8080) - Web interface for Temporal 4. PostgreSQL (Port 5432) - Database for Temporal -5. OpenSearch (Port 9200) - Search engine for Temporal visibility features +5. OpenSearch (Port 9200) - Search engine for Temporal visibility features \ No newline at end of file diff --git a/.cursor/rules/service-configuration.mdc b/.cursor/rules/service-configuration.mdc index f18dade..0da1e7f 100644 --- a/.cursor/rules/service-configuration.mdc +++ b/.cursor/rules/service-configuration.mdc @@ -1,8 +1,8 @@ --- -description: -globs: -alwaysApply: false +description: "Provides service setup, health verification, and troubleshooting guidelines" +globs: ["scripts/*.sh", "docker-compose.yml", ".env*"] --- + # Service Configuration Guide ## Setup Instructions @@ -28,4 +28,4 @@ The [scripts/check_services.sh](mdc:scripts/check_services.sh) script verifies a 2. Verify port availability 3. Ensure sufficient Docker resources 4. Run setup script for volume mount issues -5. Check service health endpoints +5. Check service health endpoints \ No newline at end of file diff --git a/.cursor/rules/single-chunk-edits-rule.mdc b/.cursor/rules/single-chunk-edits-rule.mdc index 5a84ea7..de1d60c 100644 --- a/.cursor/rules/single-chunk-edits-rule.mdc +++ b/.cursor/rules/single-chunk-edits-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Requires providing all edits in a single chunk instead of multiple steps" +globs: ["**/*"] --- -- Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file + +- Provide all edits in a single chunk instead of multiple-step instructions or explanations for the same file \ No newline at end of file diff --git a/.cursor/rules/verify-information-rule.mdc b/.cursor/rules/verify-information-rule.mdc index 5fb1466..d6b3703 100644 --- a/.cursor/rules/verify-information-rule.mdc +++ b/.cursor/rules/verify-information-rule.mdc @@ -1,6 +1,6 @@ --- -description: -globs: -alwaysApply: false +description: "Requires verification of information before presentation" +globs: ["**/*"] --- -- Always verify information before presenting it. Do not make assumptions or speculate without clear evidence. + +- Always verify information before presenting it. Do not make assumptions or speculate without clear evidence. \ No newline at end of file From f937582682f35e20cc6e38615f5a0b7daa4418eb Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Wed, 23 Apr 2025 16:38:57 +0200 Subject: [PATCH 4/6] chore(gitignore): update Cursor rules exclusion pattern Update .gitignore to include all subdirectories under .cursor/rules by changing '!.cursor/rules/' to '!.cursor/rules/**' --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0c540a7..5f9be27 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,7 @@ lerna-debug.log* mcp mcp-config.json .cursor/* -!.cursor/rules/ +!.cursor/rules/** # JetBrains IDE From 509dd040abe159fa43e68cf57ba83df4e74bf608 Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Thu, 24 Apr 2025 10:50:27 +0200 Subject: [PATCH 5/6] ci: enhance code quality workflow with security scanning This change sets environment variables for Docker Scout using GitHub Secrets. It ensures authenticated scanning of images for vulnerabilities, improving the reliability of the workflow. --- .github/workflows/code-quality.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index 2ee4c07..cde3bf1 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -74,6 +74,9 @@ jobs: load: true - name: Scan ${{ matrix.service.name }} image uses: docker/scout-action@v1 + env: + DOCKER_SCOUT_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} + DOCKER_SCOUT_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} with: command: cves image: ${{ matrix.service.tag }} From b5886520211da033a8ac84524a480552a722060f Mon Sep 17 00:00:00 2001 From: "anatoly.shipitz" Date: Thu, 24 Apr 2025 10:57:46 +0200 Subject: [PATCH 6/6] ci: update GitHub Actions dependencies * Update github/codeql-action from v2 to v3 to address deprecation warning * Remove redundant Docker Scout authentication env vars since they're inherited from docker/login-action BREAKING CHANGE: CodeQL Action v2 support will be removed in January 2025 --- .github/workflows/code-quality.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index cde3bf1..ec29a23 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -74,9 +74,6 @@ jobs: load: true - name: Scan ${{ matrix.service.name }} image uses: docker/scout-action@v1 - env: - DOCKER_SCOUT_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKER_SCOUT_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} with: command: cves image: ${{ matrix.service.tag }} @@ -86,7 +83,7 @@ jobs: format: json write-comment: true - name: Upload ${{ matrix.service.name }} scan results - uses: github/codeql-action/upload-sarif@v2 + uses: github/codeql-action/upload-sarif@v3 with: sarif_file: ${{ matrix.service.name }}-scan.sarif category: ${{ matrix.service.name }}