jongalloway / jongalloway/action-pinner

Publish action to GitHub Marketplace

Open
#52 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Summary

Publish action-pinner to the GitHub Marketplace so it's discoverable as a GitHub Action (alongside the existing npm/CLI distribution).

What's needed

Must-have
  1. Action-specific entrypoint -- Create src/action.ts that reads inputs via @actions/core (getInput(), setOutput(), setFailed()) and calls the library functions directly (no CLI parsing).

  2. Bundle with @vercel/ncc -- GitHub Actions requires a self-contained dist/index.js. Add ncc to build pipeline to bundle the action entrypoint + all dependencies into one file. node_modules/ should NOT be committed.

  3. Add @actions/core dependency -- For input/output/failure handling in CI.

  4. Separate build targets -- CLI build (current tsc) and action build (ncc build src/action.ts -o dist). May need to restructure dist/ or use dist/action/ for the bundled output.

To publish
  1. Create a GitHub Release and check "Publish this Action to the GitHub Marketplace" -- that's it once the above is done.

Already done

  • action.yml with inputs, outputs, branding (lock icon, blue)
  • runs.using: node20, main: dist/index.js
  • Repository is public
  • README has usage examples

Effort estimate

~2-3 hours

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing TypeScript build configuration and package scripts, then inspect action.yml and the current dist/index.js target. Add the action entrypoint and separate ncc bundle while preserving the CLI build; done means the bundled dist/index.js matches action.yml, dependencies are self-contained, and the action can be released to the Marketplace.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, node.js, typescript
Domain
build-system, ci-cd, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.