Skip to content

Pump the version

Pump the version #18

name: Etherlink Token Bridge SDK
on:
push:
branches:
- master
- dev
tags:
- 'v*.*.*'
pull_request:
env:
node-version: 20
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
cache: 'npm'
- name: Print environment info
run: |
node --version
npm --version
- name: Install dependencies
run: npm ci
- name: Build the package
run: npm run build
- name: Upload the build as an artifact
uses: actions/upload-artifact@v4
with:
name: tezos-etherlink-bridge-sdk
path: |
dist
package.json
LICENSE
if-no-files-found: error
retention-days: 1
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
cache: 'npm'
- name: Print environment info
run: |
node --version
npm --version
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
test:
name: Unit Tests
runs-on: ubuntu-latest
needs: build
strategy:
matrix:
node-version: [20, 21]
fail-fast: false
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Set up Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.node-version }}
cache: 'npm'
- name: Print environment info
run: |
node --version
npm --version
- name: Install dependencies
run: npm ci
- name: Test
run: npm test -- --coverage
publish-npm:
name: Publish to NPM
runs-on: ubuntu-latest
needs: [build, lint, test]
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
steps:
- name: Download the build from the artifacts storage
uses: actions/download-artifact@v4
with:
name: tezos-etherlink-bridge-sdk
- name: Set up Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
registry-url: 'https://registry.npmjs.org'
node-version: ${{ env.node-version }}
- name: Print environment info
run: |
node --version
npm --version
- name: Publish
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
publish-github-release:
name: Create GitHub Release
runs-on: ubuntu-latest
needs: [publish-npm]
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
steps:
- name: Download the build from the artifacts storage
uses: actions/download-artifact@v4
with:
name: tezos-etherlink-bridge-sdk
path: tezos-etherlink-bridge-sdk
- name: Archive the build
run: |
tar -cvf tezos-etherlink-bridge-sdk.tar tezos-etherlink-bridge-sdk
tar -czvf tezos-etherlink-bridge-sdk.tar.gz tezos-etherlink-bridge-sdk
- name: Create GitHub Release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
*.tar
*.tar.gz