GithubHelp home page GithubHelp logo

memphisx / private-action-loader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nick-fields/private-action-loader

0.0 0.0 0.0 2.73 MB

Allows private GitHub Actions to be easily reused

License: MIT License

Shell 0.80% JavaScript 45.50% TypeScript 53.70%

private-action-loader's Introduction

Private Action Loader

Actions Status License: MIT JavaScript Style Guide Dependency Status devDependency Status Code Coverage

This action loads and executes a private Action. This allows private actions to be reused in other private repositories. All inputs are passed down into the private action. All outputs of the private actions are passed back to the loader action.

NOTE: Ownership of this project was transferred to my personal account nick-fields from invisionapp then nick-invision. Details here


Inputs

pal-repo-token

Required An access token with the repo scope to the repository containing the action. This should be stored as a repo secret.

pal-repo-name

Required The repository containing the action. A ref can also be appended to specify an exact commit of the action (SHA, tag, or branch). Must be in the format of {owner}/{repo} or {owner}/{repo}@{sha}.

pal-action-directory

Optional Directory containing the action.yml that you would like to execute in repo. If omitted, the root directory is assumed to be the location of action.yml.


Examples

Example usage w/ pal-action-directory

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action
    pal-action-directory: src/super-secret-nested-action

Example usage w/ additional parameters

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action
    # the following input gets passed to the private action
    input-used-by-other-action: this will be passed to super-secret-action

Example usage w/o additional parameters

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action

Example usage w/ SHA

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@b8a83a0

Example usage w/ Branch

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@master

Example usage w/ Tag

- uses: nick-fields/private-action-loader@v3
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@v1

Example usage w/ Output

- uses: nick-fields/private-action-loader@v3
  id: output_example
  with:
    pal-repo-token: ${{ secrets.REPO_TOKEN }}
    pal-repo-name: some-org/super-secret-action@v1
- name: Get the previous output
  run: echo "The previous output was ${{ steps.output_example.outputs.<name of output> }}"

Limitations

  • Only supports javascript actions

Ownership

As of 2022/02/15 ownership of this project has been transferred to my personal nick-fields account due to me leaving InVision. Previously on 2021/04/28 ownership of this project was transferred from the InVisionApp organization to my work account nick-invision due to changes to our organization level security settings that conflicts with public GitHub Actions. I am the author and have been the primary maintainer since day one and will continue to maintain this as needed.

No immediate action is required if you rely on this as GitHub handles ownership transfers pretty well. Any current workflow reference to nick-invision/private-action-loader@<whatever> will still work, but will just pull from nick-fields/private-action-loader@<whatever> instead. Who knows how long that will work, so at some point it would be beneficial to update your workflows to reflect the new owner accordingly.

private-action-loader's People

Contributors

dependabot-preview[bot] avatar nick-invision avatar dependabot[bot] avatar psyked avatar nick-fields avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.