From cd3d63da890023d47cf8b0a93151b301d69706e0 Mon Sep 17 00:00:00 2001 From: Christopher Willis-Ford <7019101+cwillisf@users.noreply.github.com> Date: Mon, 30 Oct 2023 13:30:00 -0700 Subject: [PATCH] ci: implement GHA CI/CD workflow --- .github/workflows/ci-cd.yml | 34 ++++++++++++++++++++++++++++++++++ .nvmrc | 1 + 2 files changed, 35 insertions(+) create mode 100644 .github/workflows/ci-cd.yml create mode 100644 .nvmrc diff --git a/.github/workflows/ci-cd.yml b/.github/workflows/ci-cd.yml new file mode 100644 index 0000000..0c30e19 --- /dev/null +++ b/.github/workflows/ci-cd.yml @@ -0,0 +1,34 @@ +name: CI/CD + +on: + pull_request: # Runs whenever a pull request is created or updated + push: # Runs whenever a commit is pushed to the repository + branches: [main, master, develop, beta, hotfix/*] # ...on any of these branches + workflow_dispatch: # Allows you to run this workflow manually from the Actions tab + +concurrency: + group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' + cancel-in-progress: true + +jobs: + ci-cd: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: wagoid/commitlint-github-action@v5 + if: github.event_name == 'pull_request' + - uses: actions/setup-node@v3 + with: + cache: 'npm' + node-version-file: '.nvmrc' + - name: Info + run: | + echo "Node version: $(node --version)" + echo "NPM version: $(npm --version)" + - run: npm ci + - run: npm test + - name: Release + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: npx --no -- semantic-release diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..9a2a0e2 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v20