Skip to content

v3.11.0

v3.11.0 #46

Workflow file for this run

name: Publish to NPM
on:
release:
types: [published]
jobs:
test-packaged-node-sdk:
runs-on: ${{ matrix.platform == 'linux' && 'ubuntu-latest' || matrix.platform == 'macos' && 'macos-13' || matrix.platform == 'windows' && 'windows-latest' }}
strategy:
fail-fast: false
matrix:
platform: ['linux']
node-version: [ '18', '20', '22', '23' ]
steps:
- uses: actions/checkout@v3
- name: Parse version from tag
id: version
uses: release-kit/semver@v2
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: |
echo "Testing SDK Package with version tag ${{ steps.version.outputs.full }}"
echo "Loading SDK at ref ${{ github.ref_name }}"
- uses: Eppo-exp/sdk-test-data/.github/actions/test-server-package@main
with:
platform: ${{ matrix.platform }}
sdk_name: 'node-server-sdk'
sdk_ref: ${{ github.ref_name }}
sdk_relay_dir: 'node-sdk-relay'
shard_label: 'node-${{ matrix.node-version }}'
service_account_key: ${{ secrets.SERVICE_ACCOUNT_KEY }}
sdk_testing_project_id: ${{ vars.SDK_TESTING_PROJECT_ID }}
sdk_testing_region: ${{ vars.SDK_TESTING_REGION }}
publish:
needs: test-packaged-node-sdk
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Parse version from tag
id: version
uses: release-kit/semver@v2
- name: Display Release Plan
if: ${{ !github.event.release.prerelease && !steps.version.outputs.prerelease }}
run: |
echo "Publishing release ${{ steps.version.outputs.full }}"
- name: Display Pre-release Plan
if: ${{ github.event.release.prerelease && steps.version.outputs.prerelease }}
run: |
echo "Publishing pre-relese ${{ steps.version.outputs.full }}"
- name: Validate inputs
if: ${{ (github.event.release.prerelease && !steps.version.outputs.prerelease) || (!github.event.release.prerelease && steps.version.outputs.prerelease) }}
run: |
RED='\033[0;31m'
NC='\033[0m' # No Color
echo -e "${RED}Pre-release label in semver but GitHub release is not marked as pre-release or vice-versa${NC}"
exit 1;
- uses: actions/setup-node@v3
with:
node-version: '18.x'
- run: yarn install
- run: yarn test
- name: Publish Latest
uses: JS-DevTools/npm-publish@v3
if: ${{ !github.event.release.prerelease && !steps.version.outputs.prerelease }}
with:
token: ${{ secrets.NPM_TOKEN }}
access: public
- name: Publish Pre-release
uses: JS-DevTools/npm-publish@v3
if: ${{ github.event.release.prerelease && steps.version.outputs.prerelease }}
with:
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.version.outputs.prerelease }}
- name: Upload npm debug log
if: failure() # This step will run only if the previous steps failed
uses: actions/upload-artifact@v4
with:
name: npm-debug-logs
path: /home/runner/.npm/_logs/*.log