Skip to content

Latest commit

 

History

History
50 lines (42 loc) · 2.34 KB

README.md

File metadata and controls

50 lines (42 loc) · 2.34 KB

is.js CICD

This GitHub Actions workflow initializes, lints, tests, and publishes the is.js project.

Index

  1. Triggers
  2. Inputs
  3. Steps
  4. Outputs
  5. See Also

Triggers

This GitHub action will run under the following circumstances:

  1. When code is pushed to a base branch.
  2. When a pull request is opened, new commits are pushed, or re-opened.
  3. On a workflow dispatch event, a manual CI run which can be triggered by the "Workflow Dispatch" button on the "Actions" tab of the GitHub repository, among other means.

Inputs

There are currently no user-defined inputs for this pipeline, aside from the source code itself.

Steps

This workflow performs the following steps on GitHub runners:

  1. Attach Documentation
    1. Checkout this repo with no submodules.
    2. Attach an annotation to the GitHub Actions build summary page containing CI documentation.
  2. is.js - nodeJS v𝕟

    This is a matrix job where 𝕟 is a set of supported node LTS major versions given by the node-version array in ci.yml. The following steps are run against each node version in the array:

    1. Checkout this repo.
    2. Setup nodeJS using the specified version.
    3. Initialize the project using yarn.
    4. Lint.
    5. Unit tests.
    6. Run the build.
      1. Pack build metadata.
      2. Generate the distributable.
      3. Validate the distributable can be successfully installed by npm.
      4. If this node version matches the one in .nvmrc, publish to NPM.
    7. Upload artifacts.

Outputs

Besides the exit status, the following is generated.

  • A *.tgz file for each node version containing the is.js project.

See Also

For assistance with the CI system, please open an issue in this repo.


Legal Notice
This repo contains assets created in collaboration with a large language model, machine learning algorithm, or weak artificial intelligence (AI). This notice is required in some countries.