Skip to content

Test and Release

Test and Release #1779

Workflow file for this run

name: Test and Release
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
schedule:
- cron: "0 4 * * 5" # every Friday 04:00
env:
CPQ: ${{ vars.CPQ }}
jobs:
default:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version-file: .node-version
- name: Install dependencies
run: |
npm ci
npm install --global @salesforce/cli@${SF_CLI_VERSION:-"latest"}
- name: Run unit tests
run: npm run test
- name: Authenticate DevHub and create scratch org
env:
SFDX_AUTH_URL_DEVHUB: ${{ secrets.SFDX_AUTH_URL_DEVHUB }}
run: |
sf org login sfdx-url -d -a devhub -f <(echo "${SFDX_AUTH_URL_DEVHUB}")
npm run develop
- name: Run end-to-end tests
run: npm run test:e2e
- name: Delete scratch org
if: always()
run: |
sf org delete scratch -p
- name: Release package
run: npx semantic-release -b main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}