Skip to content

GitHub config dependency upgrades#1415

Merged
prasadtalasila merged 19 commits intoINTO-CPS-Association:feature/distributed-demofrom
prasadtalasila:github-config-dependency-upgrades
Dec 24, 2025
Merged

GitHub config dependency upgrades#1415
prasadtalasila merged 19 commits intoINTO-CPS-Association:feature/distributed-demofrom
prasadtalasila:github-config-dependency-upgrades

Conversation

@prasadtalasila
Copy link
Copy Markdown
Contributor

Copilot Config and Dependency Upgrades

  • Fixes GitHub Actions workflows
  • New agent configuration files in .github/agents/
  • Adds npm publish step to runner workflow
  • Environment variable naming changes in docker/compose.dev.yml
  • Updates to issue templates

Type of Change

  • New feature
  • Bug fix
  • Documentation update
  • Refactoring
  • Security patch
  • UI/UX improvement

Description

The existing GitHub actions have syntax errors leading to workflow run failures. This issue has been fixed.

The GitHub copilot can use custom agents for projects. These agents have been added to the project. In addition, the package and security patches recommended in dependabot pull requests have been added.

In addition, npm publish job has been added in runner workflow.

Testing

Tests have been performed on GitHub Actions and manual testing has been performed for the Client website.

Impact

Better GitHub Actions and copilot settings.

Checklist

  • My code adheres to the coding and style guidelines of the project.
  • I have added tests for all the new code and any changes made to
    existing code.
  • I have made corresponding changes to the documentation.

Copilot AI review requested due to automatic review settings December 24, 2025 13:08
@prasadtalasila prasadtalasila added documentation Improvements or additions to documentation enhancement New feature or request labels Dec 24, 2025
@prasadtalasila prasadtalasila added this to the Release v0.8 milestone Dec 24, 2025
@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 24, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.51%. Comparing base (12157b0) to head (1456422).
⚠️ Report is 1 commits behind head on feature/distributed-demo.

Additional details and impacted files
@@                     Coverage Diff                      @@
##           feature/distributed-demo    #1415      +/-   ##
============================================================
+ Coverage                     92.74%   95.51%   +2.77%     
============================================================
  Files                             5      146     +141     
  Lines                           248     4058    +3810     
  Branches                          0      608     +608     
============================================================
+ Hits                            230     3876    +3646     
- Misses                           18      179     +161     
- Partials                          0        3       +3     
Files with missing lines Coverage Δ
servers/execution/runner/src/config/commander.ts 100.00% <100.00%> (ø)

... and 140 files with indirect coverage changes

Components Coverage Δ
Website 96.33% <ø> (∅)
Lib Microservice 79.28% <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request focuses on improving GitHub Actions workflows, updating dependencies, and adding GitHub Copilot agent configurations. The changes include syntax fixes for GitHub Actions, environment variable naming standardization, dependency version bumps, and new Copilot agent configuration files.

Key changes:

  • Fixed GitHub Actions workflow syntax issues and improved YAML formatting
  • Updated multiple dependencies to newer versions (TypeScript ESLint, Playwright, SWC, webpack, etc.)
  • Standardized environment variable naming from lowercase to uppercase in Docker Compose
  • Added GitHub Copilot custom agent configuration files for various development modes
  • Improved issue template formatting with proper markdown heading hierarchy

Reviewed changes

Copilot reviewed 24 out of 28 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
servers/lib/yarn.lock Updated dependencies: @apollo/client 4.0.10→4.0.11, @types/node 25.0.2→25.0.3, @typescript-eslint packages 8.49.0→8.50.0, eslint-plugin-jest 29.4.0→29.5.0, isomorphic-git 1.36.0→1.36.1
servers/lib/package.json Version bump from 0.5.6 to 0.5.7
servers/execution/runner/yarn.lock Updated dependencies: @swc/core 1.15.4→1.15.7, @types/node 25.0.1→25.0.3, @typescript-eslint parser 8.49.0→8.50.0, eslint-plugin-jest 29.3.0→29.5.0, webpack 5.103.0→5.104.1
servers/execution/runner/src/config/commander.ts Version constant updated from 0.3.4 to 0.3.5
servers/execution/runner/package.json Version bump from 0.3.4 to 0.3.5
docker/compose.dev.yml Environment variable naming changed from lowercase (username1/username2) to uppercase (USERNAME1/USERNAME2)
client/yarn.lock Updated dependencies: @eslint/js 9.39.1→9.39.2, @playwright/test 1.56.1→1.57.0, node-forge 1.3.1→1.3.3, playwright 1.56.1→1.57.0, ts-jest 29.4.5→29.4.6, zod 4.1.12→4.1.13
client/package.json Version bump from 0.10.1 to 0.10.2; added node-forge resolution; updated dev dependencies
.gitignore Added !files/user2/ exclusion and blank line for readability
.github/workflows/runner.yml Fixed job naming (get_version→get-version), improved shell syntax, added packages:write permission, improved conditional formatting
.github/workflows/python-cli.yml Added version comments for actions, increased artifact retention from 1 to 3 days
.github/workflows/publish-npm.yml Fixed YAML indentation for workflow_call inputs and secrets
.github/workflows/lib-ms.yml Removed top-level permissions, improved job naming consistency, added packages:write to NPM publish job
.github/workflows/docs.yml Removed blank line, added job-level permissions block
.github/workflows/docker-ghcr.yml Improved IMAGE_TAG quoting, reformatted multi-line tags
.github/workflows/docker-dockerhub.yml Added packages:write permission, improved secret documentation formatting
.github/workflows/client.yml Removed top-level permissions, improved job naming and conditional formatting
.github/pull_request_template.md Improved text wrapping for better readability
.github/agents/*.agent.md Added seven new GitHub Copilot agent configuration files for different development modes
.github/README.md New file documenting agent sources and licensing
.github/ISSUE_TEMPLATE/feature_request.md Changed heading levels from ### to ##
.github/ISSUE_TEMPLATE/bug_report.md Changed heading levels from ### to ##

permissions:
contents: read # ✅ Required for checking out the code
contents: read # ✅ Required for checking out the code
packages: write # ✅ Required for publishing to github package registry
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to other workflows, packages: write permission is added to publish-docker-image-dockerhub job which only publishes to DockerHub. This permission is unnecessary and should be removed for security best practices.

Suggested change
packages: write # ✅ Required for publishing to github package registry

Copilot uses AI. Check for mistakes.
Comment thread docker/compose.dev.yml
volumes:
- ${DTAAS_DIR}/files/common:/workspace/common
- ${DTAAS_DIR}/files/${username1}:/workspace
- ${DTAAS_DIR}/files/${USERNAME1}:/workspace
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The environment variable naming convention has been changed from lowercase with numbers (username1) to uppercase with numbers (USERNAME1). However, this change may break existing deployments if the corresponding environment variables in the deployment environment haven't been updated to match this new naming convention. Ensure that all .env files and deployment configurations use USERNAME1 and USERNAME2 instead of username1 and username2.

Copilot uses AI. Check for mistakes.
permissions:
contents: read # ✅ Required for checking out the code
contents: read # ✅ Required for checking out the code
packages: write # ✅ Push to github package registry
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The packages: write permission is added to the publish-package-npm job, but this job publishes to NPM registry (registry.npmjs.org), not GitHub Packages. The packages: write permission is unnecessary for NPM publishing and should be removed from this job. It's only needed for the publish-package-github job.

Suggested change
packages: write # ✅ Push to github package registry

Copilot uses AI. Check for mistakes.
@@ -16,13 +16,10 @@ env:
HTTP_PORT: 4002
LIBMS_CONFIG_PATH: test/libms.test.yaml

Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The top-level permissions block has been removed from this workflow. While individual jobs have their own permissions blocks, removing the top-level permissions means jobs without explicit permissions will inherit the default permissions (which are quite broad). It's better practice to keep a restrictive top-level permissions block and explicitly grant permissions per job as needed.

Suggested change
permissions:
contents: read

Copilot uses AI. Check for mistakes.
Comment on lines +21 to +22
permissions:
contents: read # ✅ Required for checking out the code
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Job-level permissions block is added here which is good practice. However, verify that adding this doesn't cause issues since there's no top-level restrictive permissions block in this workflow file.

Suggested change
permissions:
contents: read # ✅ Required for checking out the code

Copilot uses AI. Check for mistakes.
cli/dist/*.whl
cli/dist/*.tar.gz
retention-days: 1
retention-days: 3
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change from "retention-days: 1" to "retention-days: 3" increases artifact storage duration. While this provides more time for artifact retrieval, it also increases storage costs. Ensure this aligns with the project's artifact retention policy.

Suggested change
retention-days: 3
retention-days: 1

Copilot uses AI. Check for mistakes.
publish-package-npm:
permissions:
contents: read # ✅ Required for checking out the code
packages: write # ✅ Push to github package registry
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the runner workflow, the packages: write permission is added to the publish-package-npm job which publishes to registry.npmjs.org, not GitHub Packages. This permission should be removed as it's unnecessary and follows the principle of least privilege.

Suggested change
packages: write # ✅ Push to github package registry

Copilot uses AI. Check for mistakes.
Comment on lines +17 to 18
packages: write # ✅ Push to github package registry

Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The packages: write permission is added to the workflow and to the publish-docker-image-dockerhub job, but this job only publishes to DockerHub, not GitHub Container Registry. The packages: write permission should only be on jobs that actually interact with GitHub Packages.

Suggested change
packages: write # ✅ Push to github package registry

Copilot uses AI. Check for mistakes.
contents: read # ✅ Required for checking out the code
if: |
contents: read # ✅ Required for checking out the code
packages: write # ✅ Required for publishing to github package registry
Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The packages: write permission is added to publish-docker-image-dockerhub job. This job pushes to DockerHub (not GitHub Container Registry), so packages: write permission for GitHub Packages is unnecessary. Only the publish-docker-image-ghcr job needs this permission.

Suggested change
packages: write # ✅ Required for publishing to github package registry

Copilot uses AI. Check for mistakes.
@@ -11,15 +11,12 @@ on:
- '.github/workflows/client.yml'
workflow_dispatch:

Copy link

Copilot AI Dec 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The top-level permissions block has been removed from this workflow. Similar to other workflows, this means jobs inherit default permissions. Consider adding a restrictive top-level permissions block with individual jobs explicitly requesting needed permissions.

Suggested change
permissions:
contents: read

Copilot uses AI. Check for mistakes.
@prasadtalasila prasadtalasila merged commit 1b1bcc1 into INTO-CPS-Association:feature/distributed-demo Dec 24, 2025
29 of 30 checks passed
@github-project-automation github-project-automation Bot moved this from In progress to Done in Digital Twin as a Service Dec 24, 2025
prasadtalasila added a commit to prasadtalasila/DTaaS-Public that referenced this pull request Jan 15, 2026
- Updates nodejs versions in dockerfiles
- Updates npm dependencies of runner and lib microservices

Document Capabilities, Concurrent Execution and Settings

Improve Github Actions (INTO-CPS-Association#1411)

- Adds permissions to all GitHub Actions
- Pins all GitHub Actions to specific commit hashes with version tags for security
- Adds granular permission scopes at both workflow and job levels
- Updates runner NPM publishing to publish at npmjs registry

GitHub config dependency upgrades (INTO-CPS-Association#1415)

- Fixes GitHub Actions workflows
- New agent configuration files in .github/agents/
- Adds npm publish step to runner workflow
- Environment variable naming changes in docker/compose.dev.yml

Fixes workflow errors and package dependencies (INTO-CPS-Association#1418)

- Fixes mistakes in runner.yml workflow
- Updates npm packages of libms

Add summary table

Adds new markdown docs to mkdocs webpage index

Adds new markdown docs to mkdocs webpage index

Updates docs based on release-v0.7 docs

Updates figures in the docs

Fix names and file paths in the docs

Fix URLs in the docs

Fix clone instructions in the docs

Adds python script to prepare docs for release

Fixes quality issues in python script and mkdocs config

[WIP] gitlab integration docs updated

Revises documentation

Fixes qlty issues in documentation

Fixes qlty issues in python script

Fixes qlty issues and adds python script to format tables

Fixes qlty issues and adds qlty config

Adds new developer documentation

Adds new admin guide

Formats long commands

Edits docs into impersonal and academic style

Resolve merge conflicts

Improves wording in docs

Formats tables in docs

Fixes description in some docs

Adds DevOps docs

Updates platform service versions
@prasadtalasila prasadtalasila deleted the github-config-dependency-upgrades branch April 7, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants