Skip to content

Rewrite action to TypeScript and remove Docker requirements#57

Merged
julz0815 merged 3 commits intomasterfrom
rewriteToTS
Nov 7, 2025
Merged

Rewrite action to TypeScript and remove Docker requirements#57
julz0815 merged 3 commits intomasterfrom
rewriteToTS

Conversation

@julz0815
Copy link
Copy Markdown
Member

@julz0815 julz0815 commented Nov 7, 2025

Summary
Rewrote the GitHub Action from a Docker-based implementation to a pure TypeScript/JavaScript implementation. This removes the Docker dependency and enables the action to run on all systems that support Node.js and Java.

Changes

Removed Docker dependency: The action no longer requires Docker, eliminating compatibility issues on runners without Docker (e.g., macOS runners)
TypeScript implementation: Rewrote the shell script logic in TypeScript for better maintainability and type safety
Same functionality: All existing functionality is preserved - downloads the Veracode Java API wrapper, builds the command with all parameters, and executes it securely
Secure execution: Uses Node.js spawn for secure command execution without shell interpretation
Benefits

Broader compatibility: Can now run on all GitHub-hosted runners (including macOS) and self-hosted runners with Node.js and Java installed
No Docker required: Eliminates the need for Docker installation and configuration
Faster execution: No Docker image build/pull overhead
Better maintainability: TypeScript provides better error checking and code organization
Backward Compatibility

All parameters remain unchanged - The action accepts the same inputs as before:
Required parameters: appname, createprofile, filepath, version, vid, vkey
All optional parameters work exactly as before
No changes needed to existing workflows using this action
Technical Details

Uses node20 runtime instead of Docker
Downloads Veracode Java API wrapper from Maven Central (same as before)
Executes Java commands using spawn for secure process execution
All validation logic and parameter conflict checks preserved
⚠️ Migration
Runner Requirements: The action now requires a runner with:

Node.js 20+ (automatically available on GitHub-hosted runners)
Java (required to execute the Veracode Java API wrapper)
For GitHub-hosted runners: No changes needed - all GitHub-hosted runners (ubuntu-latest, windows-latest, macos-latest) support Node.js and Java.

For self-hosted runners: Ensure your runner has Node.js 20+ and Java installed. If your current runner doesn't have these, you'll need to either:

Install Node.js and Java on your existing runner, or
Switch to a runner that supports Node.js and Java
Workflow changes: No changes needed to your workflow YAML files - all parameters and usage remain identical.

Note: The Dockerfile and entrypoint.sh files have been removed as they are no longer needed.

@julz0815 julz0815 merged commit 4e085f4 into master Nov 7, 2025
1 check failed
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.

1 participant