Skip to content
View Queenmariehatcher's full-sized avatar
Block or Report

Block or report Queenmariehatcher

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Queenmariehatcher/README.md

GitHub Actions status

GitHub Actions Toolkit

The GitHub Actions ToolKit provides a set of packages to make creating actions easier.


Get started with the javascript-action template!


Packages

βœ”οΈ @actions/core

Provides functions for inputs, outputs, results, logging, secrets and variables. Read more here

$ npm install @actions/core --save

πŸƒ @actions/exec

Provides functions to exec cli tools and process output. Read more here

$ npm install @actions/exec --save

🍨 @actions/glob

Provides functions to search for files matching glob patterns. Read more here

$ npm install @actions/glob --save

✏️ @actions/io

Provides disk i/o functions like cp, mv, rmRF, find etc. Read more here

$ npm install @actions/io --save

πŸ”¨ @actions/tool-cache

Provides functions for downloading and caching tools. e.g. setup-* actions. Read more here

$ npm install @actions/tool-cache --save

:octocat: @actions/github

Provides an Octokit client hydrated with the context that the current action is being run in. Read more here

$ npm install @actions/github --save

πŸ’Ύ @actions/artifact

Provides functions to interact with actions artifacts. Read more here

$ npm install @actions/artifact --save

Creating an Action with the Toolkit

❓ Choosing an action type

Outlines the differences and why you would want to create a JavaScript or a container based action.

➰ Versioning

Actions are downloaded and run from the GitHub graph of repos. This contains guidance for versioning actions and safe releases.

⚠️ Problem Matchers

Problem Matchers are a way to scan the output of actions for a specified regex pattern and surface that information prominently in the UI.

⚠️ Proxy Server Support

Self-hosted runners can be configured to run behind proxy servers.

Illustrates how to create a simple hello world javascript action.

...
  const nameToGreet = core.getInput('who-to-greet');
  console.log(`Hello ${nameToGreet}!`);
...

Walkthrough and template for creating a JavaScript Action with tests, linting, workflow, publishing, and versioning.

async function run() {
  try { 
    const ms = core.getInput('milliseconds');
    console.log(`Waiting ${ms} milliseconds ...`)
    ...
PASS ./index.test.js
  βœ“ throws invalid number 
  βœ“ wait 500 ms 
  βœ“ test runs

Test Suites: 1 passed, 1 total    
Tests:       3 passed, 3 total

Walkthrough creating a TypeScript Action with compilation, tests, linting, workflow, publishing, and versioning.

import * as core from '@actions/core';

async function run() {
  try {
    const ms = core.getInput('milliseconds');
    console.log(`Waiting ${ms} milliseconds ...`)
    ...
PASS ./index.test.js
  βœ“ throws invalid number 
  βœ“ wait 500 ms 
  βœ“ test runs

Test Suites: 1 passed, 1 total    
Tests:       3 passed, 3 total


Create an action that is delivered as a container and run with docker.

FROM alpine:3.10
COPY LICENSE README.md /
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

Create an action that is delivered as a container which uses the toolkit. This example uses the GitHub context to construct an Octokit client.

FROM node:slim
COPY . .
RUN npm install --production
ENTRYPOINT ["node", "/lib/main.js"]
const myInput = core.getInput('myInput');
core.debug(`Hello ${myInput} from inside a container`);

const context = github.context;
console.log(`We can even get context data, like the repo: ${context.repo.repo}`)    

Contributing

We welcome contributions. See how to contribute.

Code of Conduct

See our code of conduct.

Popular repositories

  1. maries-training maries-training Public

    Learning

    1 1

  2. HashingDeepLearning HashingDeepLearning Public

    Forked from keroro824/HashingDeepLearning

    C++ 1

  3. progit2 progit2 Public

    Forked from progit/progit2

    Pro Git 2nd Edition

    CSS 1

  4. Complete-Python-3-Bootcamp Complete-Python-3-Bootcamp Public

    Forked from Pierian-Data/Complete-Python-3-Bootcamp

    Course Files for Complete Python 3 Bootcamp Course on Udemy

    Jupyter Notebook 1

  5. python-random-quote python-random-quote Public

    A file-based quote bot written in Python

    Python 1

  6. toolkit toolkit Public template

    Forked from actions/toolkit

    The GitHub ToolKit for developing GitHub Actions.

    TypeScript 1