Convert from Container to TypeScript Action
Currently, this action is configured as a Docker container action. This leads to extra startup time to build and run the container.
This PR converts this action to TypeScript/JavaScript following the actions/typescript-action template along with a number of other improvements:
GitHub Actions Workflows
- Added a new workflow for continuous integration to run tests, linting, and format checks on pull requests and pushes to the main branch (
.github/workflows/continuous-integration.yml). - Introduced a new workflow to check the status of transpiled JavaScript in the
dist/directory to ensure it matches the expected output (.github/workflows/check-dist.yml). - Updated the CodeQL analysis workflow to use the latest versions of actions and adjusted the schedule and permissions (
.github/workflows/codeql-analysis.yml). - Added a new workflow for license checks using the Licensed tool to ensure all dependencies have valid licenses (
.github/workflows/licensed.yml). - Created a new workflow for linting the codebase on pull requests and pushes to the main branch (
.github/workflows/linter.yml).
Dependency Management
- Added a
dependabot.ymlconfiguration to manage dependency updates for GitHub Actions and npm packages (.github/dependabot.yml). - Updated license files for various dependencies to reflect the latest versions and correct license text (
.licenses/npm/@actions/core.dep.yml,.licenses/npm/@actions/exec.dep.yml,.licenses/npm/@actions/github.dep.yml). [1] [2] [3]
Configuration Files
- Added a new development container configuration for TypeScript development with VS Code customizations and necessary extensions (
.devcontainer/devcontainer.json). - Updated
.gitattributesto set line endings to LF and mark thedist/directory as generated (.gitattributes).
Other Changes
- Changed code owners to
@actions/actions-oss-maintainers - Fixed example action in README
- Added 100% unit test coverage
- Removed unused dependencies, including tar files from
@actions/toolkit - Added linting and testing configurations for ESLint, Prettier, and Jest
- Updated licenses for all dependencies to reflect the latest versions and correct license
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.