Skip to content

Aleffio/release-automation-action

 
 

Repository files navigation

Release Automation Action

status

A GitHub action to propose the next version to release of your repository.

Code in Main

First, you'll need to have a reasonably modern version of node handy. This won't work with versions older than 9, for instance. Consider using Github Codespaces or Gitpod.

Install the dependencies

$ npm install

Build the typescript and package it for distribution

$ npm run build && npm run package

Run the tests ✔️

$ npm test

 PASS  ./index.test.js
  ✓ throws invalid number (3ms)
  ✓ wait 500 ms (504ms)
  ✓ test runs (95ms)

...

Change the Code

Most toolkit and CI/CD operations involve async operations so the action is run in an async function.

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

async function run() {
  try { 
      ...
  } 
  catch (error) {
    core.setFailed(error.message);
  }
}

run()

See the toolkit documentation for the various packages.

Publish to a distribution branch

Actions are run from GitHub repos so we will checkin the packed dist folder.

Then run ncc and push the results:

$ npm run package
$ git add dist
$ git commit -a -m "prod dependencies"
$ git push origin releases/v1

Note: We recommend using the --license option for ncc, which will create a license file for all of the production node modules used in your project.

Your action is now published! 🚀

See the versioning documentation

Validate

This action performs an integration test by referencing ./ in a test.yml workflow.

See the actions tab for runs of this action! 🚀

Usage

After testing you can create a v1 tag to reference the stable and latest V1 action

Disclaimer: This is not an officially supported Adyen product.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.6%
  • JavaScript 1.4%