Skip to content

Merge pull request #15 from oraichain/fix/fail-testcase #11

Merge pull request #15 from oraichain/fix/fail-testcase

Merge pull request #15 from oraichain/fix/fail-testcase #11

name: publish_staging_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: [staging]
# 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/[email protected]
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: Overwrite package.json
run: cp -av packages/oraidex-server/package.staging.json packages/oraidex-server/package.json
- name: Rename package folder
run: mv packages/oraidex-server packages/oraidex-server-staging
- 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-staging/ 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-staging
env:
CI: false
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NODE_AUTH_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-staging@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 [oraidex-server-staging]"
message: "Repo oraidex-sdk has just published oraidex-server-staging. result: ${{ steps.publish.outcome }}. install result: ${{ steps.install.outcome }}. ${{ github.event.head_commit.author.name }}"