Skip to content

chore: remove step-security/harden-runner from workflows#246

Merged
WilliamBerryiii merged 4 commits intomainfrom
chore/remove-harden-runner
Jan 22, 2026
Merged

chore: remove step-security/harden-runner from workflows#246
WilliamBerryiii merged 4 commits intomainfrom
chore/remove-harden-runner

Conversation

@WilliamBerryiii
Copy link
Copy Markdown
Member

@WilliamBerryiii WilliamBerryiii commented Jan 22, 2026

Description

Removed step-security/harden-runner action from all extension CI/CD workflows. The action was configured with egress-policy: audit which only monitored network activity without blocking anything, providing no security enforcement value.

  • chore(workflows): removed harden-runner from extension-package.yml (1 instance in package job)
  • chore(workflows): removed harden-runner from extension-publish.yml (3 instances across prepare-changelog, normalize-version, publish jobs)
  • chore(workflows): removed harden-runner from extension-publish-prerelease.yml (3 instances across validate-version, package, publish jobs)

Additional Changes: Shell Improvements

While fixing CI lint failures caused by actionlint's shellcheck integration, the following improvements were made to extension-publish.yml and extension-publish-prerelease.yml:

Issue Fix Rationale
SC2012 (ls parsing) Replaced ls -t *.vsix | head -1 with find -printf + sort Robust file discovery that handles filenames with spaces/special characters
SC2086 (unquoted vars) Quoted $GITHUB_OUTPUT references Prevents word splitting on environment variable paths
SC2129 (multiple redirects) Grouped echo commands with { ...; } >> file Atomic write pattern, reduces file handle operations

Portability note: The find -printf syntax is GNU-specific and works on ubuntu-latest runners. These workflows are pinned to Ubuntu and have no macOS runner requirements.

Convention note: The grouped redirect pattern differs from individual echo >> file lines used elsewhere. This pattern is intentional for atomic writes and is acceptable as a localized improvement within these specific workflows.

Related Issue(s)

Closes #226

Type of Change

Select all that apply:

Code & Documentation:

  • Bug fix (non-breaking change fixing an issue)
  • New feature (non-breaking change adding functionality)
  • Breaking change (fix or feature causing existing functionality to change)
  • Documentation update

Infrastructure & Configuration:

  • GitHub Actions workflow
  • Linting configuration (markdown, PowerShell, etc.)
  • Security configuration
  • DevContainer configuration
  • Dependency update

AI Artifacts:

  • Reviewed contribution with prompt-builder agent and addressed all feedback
  • Copilot instructions (.github/instructions/*.instructions.md)
  • Copilot prompt (.github/prompts/*.prompt.md)
  • Copilot agent (.github/agents/*.agent.md)

> Note for AI Artifact Contributors:
>
> - Agents: Research, indexing/referencing other project (using standard VS Code GitHub Copilot/MCP tools), planning, and general implementation agents likely already exist. Review .github/agents/ before creating new ones.
> - Model Versions: Only contributions targeting the latest Anthropic and OpenAI models will be accepted. Older model versions (e.g., GPT-3.5, Claude 3) will be rejected.
> - See Agents Not Accepted and Model Version Requirements.

Other:

  • Script/automation (.ps1, .sh, .py)
  • Other (please describe):

Sample Prompts (for AI Artifact Contributions)

Testing

  • Verified all 7 harden-runner step blocks removed across 3 workflow files
  • Confirmed no remaining step-security or harden-runner references in .github/workflows/ via Select-String
  • All 253 Pester tests pass with 0 failures
  • Local actionlint validation passes with exit code 0

Checklist

Required Checks

  • Documentation is updated (if applicable)
  • Files follow existing naming conventions
  • Changes are backwards compatible (if applicable)

AI Artifact Contributions

Required Automated Checks

The following validation commands must pass before merging:

  • Markdown linting: npm run lint:md
  • Spell checking: npm run spell-check
  • Frontmatter validation: npm run lint:frontmatter
  • Link validation: npm run lint:md-links
  • PowerShell analysis: npm run lint:ps

Security Considerations

  • This PR does not contain any sensitive or NDA information
  • Any new dependencies have been reviewed for security issues
  • Security-related scripts follow the principle of least privilege

This change removes a monitoring-only security tool. No security regression occurs because:

  • egress-policy: audit only logged network activity without blocking
  • All other security measures remain intact (SHA-pinned actions, OIDC publishing, minimal permissions)

Additional Notes

Total: 3 files changed, 35 deletions (7 harden-runner blocks removed, each was a 5-line YAML step)

🧹 - Generated by Copilot

- Remove from extension-package.yml (1 instance)

- Remove from extension-publish.yml (3 instances)

- Remove from extension-publish-prerelease.yml (3 instances)

🧹 - Generated by Copilot
@WilliamBerryiii WilliamBerryiii requested a review from a team as a code owner January 22, 2026 05:55
Copilot AI review requested due to automatic review settings January 22, 2026 05:55
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Jan 22, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

  • .github/workflows/extension-publish.yml

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 PR removes the step-security/harden-runner action from extension CI/CD workflows. The action was configured with egress-policy: audit which only monitored network activity without blocking, providing no security enforcement.

Changes:

  • Removed 7 instances of harden-runner steps across 3 extension workflow files
  • Each removal eliminates a 5-line YAML block (step name, uses, with, egress-policy fields)

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
.github/workflows/extension-publish.yml Removed harden-runner from 3 jobs: prepare-changelog, normalize-version, and publish
.github/workflows/extension-publish-prerelease.yml Removed harden-runner from 3 jobs: validate-version, package, and publish
.github/workflows/extension-package.yml Removed harden-runner from package job

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jan 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@4a41c16). Learn more about missing BASE report.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #246   +/-   ##
=======================================
  Coverage        ?   28.81%           
=======================================
  Files           ?       14           
  Lines           ?     2735           
  Branches        ?        0           
=======================================
  Hits            ?      788           
  Misses          ?     1947           
  Partials        ?        0           
Flag Coverage Δ
pester 28.81% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- SC2012: Replace ls with find for VSIX file discovery

- SC2129: Use grouped redirects for GITHUB_STEP_SUMMARY

- SC2086: Quote GITHUB_STEP_SUMMARY variable

🤖 - Generated by Copilot
Copilot AI review requested due to automatic review settings January 22, 2026 20:36
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

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

@WilliamBerryiii WilliamBerryiii merged commit c5708d8 into main Jan 22, 2026
16 checks passed
@WilliamBerryiii WilliamBerryiii deleted the chore/remove-harden-runner branch January 22, 2026 21:00
WilliamBerryiii added a commit that referenced this pull request Jan 26, 2026
…es (#299)

## Description

Fixed shellcheck warnings SC2086 (unquoted variables) and SC2129
(ungrouped redirects) in GitHub Actions workflow files. These warnings
were surfaced during CI runs and follow the same fix patterns
established in PR #246.

- Quoted `$GITHUB_ENV` and `$GITHUB_STEP_SUMMARY` shell variables to
prevent word splitting
- Grouped multiple `echo` statements into single redirects using brace
syntax `{ ...; } >> file`
- Applied fixes to both `markdown-lint.yml` and `codeql-analysis.yml`
workflows

## Related Issue(s)

Fixes #298

## Type of Change

Select all that apply:

**Code & Documentation:**

- [x] Bug fix (non-breaking change fixing an issue)
- [ ] New feature (non-breaking change adding functionality)
- [ ] Breaking change (fix or feature causing existing functionality to
change)
- [ ] Documentation update

**Infrastructure & Configuration:**

- [x] GitHub Actions workflow
- [ ] Linting configuration (markdown, PowerShell, etc.)
- [ ] Security configuration
- [ ] DevContainer configuration
- [ ] Dependency update

**AI Artifacts:**

- [ ] Reviewed contribution with `prompt-builder` agent and addressed
all feedback
- [ ] Copilot instructions (`.github/instructions/*.instructions.md`)
- [ ] Copilot prompt (`.github/prompts/*.prompt.md`)
- [ ] Copilot agent (`.github/agents/*.agent.md`)

> **Note for AI Artifact Contributors**:
>
> - **Agents**: Research, indexing/referencing other project (using
standard VS Code GitHub Copilot/MCP tools), planning, and general
implementation agents likely already exist. Review `.github/agents/`
before creating new ones.
> - **Model Versions**: Only contributions targeting the **latest
Anthropic and OpenAI models** will be accepted. Older model versions
(e.g., GPT-3.5, Claude 3) will be rejected.
> - See [Agents Not
Accepted](../docs/contributing/custom-agents.md#agents-not-accepted) and
[Model Version
Requirements](../docs/contributing/ai-artifacts-common.md#model-version-requirements).

**Other:**

- [ ] Script/automation (`.ps1`, `.sh`, `.py`)
- [ ] Other (please describe):

## Sample Prompts (for AI Artifact Contributions)

N/A - This PR does not include AI artifacts.

## Testing

- Ran `actionlint` locally against both modified workflow files with no
errors
- Prior art validated in PR #246 which applied identical fix patterns

## Checklist

### Required Checks

- [ ] Documentation is updated (if applicable)
- [x] Files follow existing naming conventions
- [x] Changes are backwards compatible (if applicable)
- [ ] Tests added for new functionality (if applicable)

### AI Artifact Contributions

N/A

### Required Automated Checks

The following validation commands must pass before merging:

- [ ] Markdown linting: `npm run lint:md`
- [ ] Spell checking: `npm run spell-check`
- [ ] Frontmatter validation: `npm run lint:frontmatter`
- [ ] Link validation: `npm run lint:md-links`
- [ ] PowerShell analysis: `npm run lint:ps`

## Security Considerations

- [x] This PR does not contain any sensitive or NDA information
- [x] Any new dependencies have been reviewed for security issues
- [x] Security-related scripts follow the principle of least privilege

## Additional Notes

These shellcheck warnings existed prior to Dependabot PR #295 and were
surfaced during CI validation. The fixes align with patterns from PR
#246 which addressed identical issues in `extension-publish*.yml`
workflows.

🔧 Generated by Copilot
WilliamBerryiii pushed a commit that referenced this pull request Jan 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.0.0](hve-core-v1.1.0...hve-core-v2.0.0)
(2026-01-28)


### ⚠ BREAKING CHANGES

* **agents:** add Task Reviewer and expand RPI to 4-phase workflow
([#277](#277))

### ✨ Features

* **agents:** add hve-core-installer agent to extension package
([#297](#297))
([c0e48c6](c0e48c6))
* **agents:** add Task Reviewer and expand RPI to 4-phase workflow
([#277](#277))
([ae76cab](ae76cab))
* **build:** add code coverage reporting to Pester workflow
([#230](#230))
([a34822a](a34822a))
* **docs:** add GOVERNANCE.md for OSSF Silver Badge compliance
([#235](#235))
([b0e752c](b0e752c))
* **docs:** add ROADMAP.md for OSSF Silver badge compliance
([#238](#238))
([4a41c16](4a41c16))
* **mcp:** add MCP server configuration guidance and installer
enhancements ([#225](#225))
([0bce418](0bce418))
* **scripts:** add YAML linting with actionlint
([#234](#234))
([d9301f9](d9301f9))
* **security:** add OpenSSF Scorecard workflow and badge
([#271](#271))
([7c6d788](7c6d788))
* **skills:** add video-to-gif conversion skill with FFmpeg two-pass
optimization ([#247](#247))
([8d65c42](8d65c42))
* **tests:** add Pester tests for LintingHelpers and
Validate-MarkdownFrontmatter
([#197](#197),
[#198](#198))
([#205](#205))
([51ae563](51ae563))


### 🐛 Bug Fixes

* **build:** detect table formatting changes via git diff
([#261](#261))
([985eee0](985eee0))
* **build:** disable MD024 lint rule in CHANGELOG for release-please
([#220](#220))
([971df94](971df94))
* **build:** quote shell variables and group redirects in workflow files
([#299](#299))
([3372509](3372509))
* **build:** resolve scorecard badge and workflow security issues
([#301](#301))
([aeaed13](aeaed13))
* **extension:** remove frontmatter from README and exclude from
markdown linting
([#223](#223))
([4272529](4272529))
* **instructions:** quote applyTo glob pattern for YAML compatibility
([#216](#216))
([085199c](085199c))
* **scripts:** add FooterExcludePaths parameter to frontmatter
validation ([#334](#334))
([64db98d](64db98d))
* **scripts:** add GHSA word and logs/ exclusion to cspell config
([#214](#214))
([5c99b3f](5c99b3f))
* **scripts:** correct type assertions in Invoke-YamlLint.Tests.ps1
([#332](#332))
([af7050d](af7050d))
* **scripts:** eliminate false positives in dependency pinning npm
pattern ([#273](#273))
([ccbdfa3](ccbdfa3))
* **security:** add artifact attestation for signed releases
([#257](#257))
([c52d6e2](c52d6e2))
* standardize markdown footers and complete frontmatter
([#217](#217))
([b4e7556](b4e7556))


### 📚 Documentation

* add OpenSSF Best Practices Passing badge to README
([#239](#239))
([91bc529](91bc529))
* **architecture:** add architecture documentation and value proposition
([#252](#252))
([0e4b02f](0e4b02f))
* **contributing:** add testing requirements for OSSF compliance
([#254](#254))
([4db1a18](4db1a18))
* **docs:** add enterprise status badges to README header
([#270](#270))
([ccb68a4](ccb68a4))
* **security:** add security assurance case and threat model for OSSF
Silver ([#259](#259))
([a390e26](a390e26))


### ♻️ Refactoring

* **application:** wrap execution with try blocks, ensure proper …
([#296](#296))
([35c4417](35c4417))
* **scripts:** extract frontmatter validation to testable module
([#293](#293))
([4e8707e](4e8707e))
* **scripts:** extract pure functions for Pester testability
([#221](#221))
([d40e742](d40e742))


### 🔧 Maintenance

* **deps-dev:** bump cspell from 9.4.0 to 9.6.0 in the npm-dependencies
group ([#208](#208))
([855914b](855914b))
* **deps-dev:** bump cspell from 9.6.0 to 9.6.1 in the npm-dependencies
group ([#294](#294))
([1e45ad6](1e45ad6))
* **deps:** bump actions/setup-node from 6.1.0 to 6.2.0 in the
github-actions group
([#209](#209))
([c4c69e2](c4c69e2))
* **deps:** bump the github-actions group with 4 updates
([#295](#295))
([d8337b8](d8337b8))
* remove step-security/harden-runner from workflows
([#246](#246))
([c5708d8](c5708d8))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: hve-core-release-please[bot] <254602402+hve-core-release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Issue]: Remove step-security/harden-runner from extension workflows

4 participants