2023-11-10 12:31:42 -06:00
# This file contains the main workflow for the create-react-component-library project. It defines the steps and actions that are executed when a pull request is opened or pushed to the repository. The workflow includes building and testing the project, as well as deploying it to GitHub Pages if the build is successful.
# Name of the workflow
name : Testing package
# Events that trigger the workflow
on :
push :
branches : [ master ]
pull_request :
branches : [ '*' ]
# Jobs that run as part of the workflow
jobs :
2023-11-20 11:48:17 -06:00
# Job to run unit tests
unit-front-end-testing :
2023-11-10 12:31:42 -06:00
runs-on : ubuntu-latest
strategy :
matrix :
node-version : [ 16. x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps :
- uses : actions/checkout@v3
- name : Use Node.js 16
uses : actions/setup-node@v3
with :
node-version : 16
cache : 'npm'
registry-url : https://registry.npmjs.org/
- run : npm ci
- run : npm test
2023-11-20 11:48:17 -06:00
# Job to run Components Cypress tests
cypress-components-testing :
2023-11-10 12:31:42 -06:00
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- name : Use Node.js 16
uses : actions/setup-node@v3
with :
node-version : 16
cache : 'npm'
registry-url : https://registry.npmjs.org/
- name : Cypress install
run : npm install
- name : Cypress run
uses : cypress-io/github-action@v5
with :
install : false
component : true
# Job to build the package
test-build-package :
if : github.ref != 'refs/heads/master'
2023-11-20 11:48:17 -06:00
needs : [ unit-front-end-testing, cypress-components-testing ]
2023-11-10 12:31:42 -06:00
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- uses : actions/setup-node@v3
with :
node-version : 16
registry-url : https://registry.npmjs.org/
- run : npm ci --legacy-peer-deps
- run : npm run build
# Job to publish the package to npm
publish-npm :
if : github.ref == 'refs/heads/master'
2023-11-20 11:48:17 -06:00
needs : [ unit-front-end-testing, cypress-components-testing ]
2023-11-10 12:31:42 -06:00
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v3
- uses : actions/setup-node@v3
with :
node-version : 16
registry-url : https://registry.npmjs.org/
- run : npm ci
- run : npm publish --access=public
env :
2024-02-13 19:39:34 -06:00
NPM_PERSONAL_TOKEN : ${{secrets.npm_token}}