Skip to content

Merge pull request #17 from oraichain/staging #82

Merge pull request #17 from oraichain/staging

Merge pull request #17 from oraichain/staging #82

name: publish_package
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [main]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains 2 jobs called "run-unit-test" "build"
run-unit-test:
uses: ./.github/workflows/reuseable-test.yaml
build:
needs:
- run-unit-test
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [">=16.0.0"]
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.8.0
with:
access_token: ${{ github.token }}
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: |
${{ steps.yarn-cache-dir-path.outputs.dir }}
./node_modules/
key: ${{ runner.os }}-yarn-${{ hashFiles('./yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install Dependencies
if: steps.yarn-cache.outputs.cache-hit != 'true'
run: yarn
- name: Build
run: yarn build packages/contracts-sdk && yarn build packages/oraidex-sync && yarn --cwd packages/oraidex-server/ build
- name: Authenticate with private NPM package
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
- name: Publish
id: publish
continue-on-error: true
run: yarn deploy packages/oraidex-server
env:
CI: false
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install latest version
id: install
if: steps.publish.outcome != 'failure'
continue-on-error: true
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DOCKER_SWARM_MANAGER_ONE }}
username: root
key: ${{ secrets.DOCKER_SWARM_MANAGER_ONE_KEY }}
script: docker exec ${{ secrets.DOCKER_SWARM_MANAGER_ONE_NODE_16_ID}} sh -c 'yarn global add @oraichain/oraidex-server@latest --ignore-scripts'
- name: send result via discord
uses: appleboy/discord-action@master
with:
webhook_id: ${{ secrets.WEBHOOK_ID }}
webhook_token: ${{ secrets.WEBHOOK_TOKEN }}
username: "GitBot"
message: "Repo oraidex-sdk has just published oraidex-server. result: ${{ steps.publish.outcome }}. install result: ${{ steps.install.outcome }}"