Spaces:
Sleeping
Sleeping
name: Chroma Release JS Client | |
on: | |
push: | |
tags: | |
- 'js_release_*.*.*' # Match tags in the form js_release_X.Y.Z | |
- 'js_release_alpha_*.*.*' # Match tags in the form js_release_alpha_X.Y.Z | |
jobs: | |
build-and-release: | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- name: Check if tag matches the pattern | |
run: | | |
if [[ "${{ github.ref }}" =~ ^refs/tags/js_release_alpha_[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | |
echo "Tag matches the pattern js_release_alpha_X.Y.Z" | |
echo "NPM_SCRIPT=release_alpha" >> "$GITHUB_ENV" | |
elif [[ "${{ github.ref }}" =~ ^refs/tags/js_release_[0-9]+\.[0-9]+\.[0-9]+$ ]]; then | |
echo "Tag matches the pattern js_release_X.Y.Z" | |
echo "NPM_SCRIPT=release" >> "$GITHUB_ENV" | |
else | |
echo "Tag does not match the release tag pattern, exiting workflow" | |
exit 1 | |
fi | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up JS | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '16.x' | |
registry-url: 'https://registry.npmjs.org' | |
- name: Install Client Dev Dependencies | |
run: npm install | |
working-directory: ./clients/js/ | |
- name: npm Test & Publish | |
run: npm run db:run && PORT=8001 npm run $NPM_SCRIPT | |
working-directory: ./clients/js/ | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |