Extension release workflow #357
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Extension release workflow | |
on: | |
push: | |
tags: | |
- "v*.*.*" | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 #orai-self-hosted | |
strategy: | |
matrix: | |
node-version: [18.17.0] | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout to Project | |
uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
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 install --frozen-lockfile | |
- name: Install extension packages | |
working-directory: apps/extension | |
run: yarn --silent | |
- name: Build Libs Extension | |
run: yarn build:codepush | |
- name: Build @owallet/hooks | |
working-directory: packages/hooks | |
run: yarn build | |
- name: Build extension | |
working-directory: apps/extension | |
run: yarn build | |
env: | |
REACT_APP_MIX_PANEL_TOKEN: ${{ secrets.MIX_PANEL_TOKEN }} | |
- name: Publish extension for test | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
REF_NAME: ${{ github.ref_name }} | |
run: | | |
chmod 777 -R ./scripts | |
./scripts/release.sh | |
- name: Upload & release | |
uses: mnao305/[email protected] | |
if: ${{ (env.PRERELEASE == '') }} | |
with: | |
file-path: apps/extension/owallet-extension-${{ github.ref_name }}.zip | |
extension-id: ${{ secrets.EXT_ID }} | |
client-id: ${{ secrets.EXT_CLIENT_ID }} | |
client-secret: ${{ secrets.EXT_CLIENT_SECRET }} | |
refresh-token: ${{ secrets.EXT_REFRESH_TOKEN }} | |
publish: false | |
- name: Send discord message | |
uses: appleboy/discord-action@master | |
with: | |
webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }} | |
webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} | |
username: "GitBot" | |
message: Extension released successfully! head_commit=${{ github.event.head_commit.message }} | |
- name: Send discord message | |
if: ${{ failure() }} | |
uses: appleboy/discord-action@master | |
with: | |
webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }} | |
webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} | |
username: "GitBot" | |
message: Extension released fail! ${{ github.job }} job in worflow ${{ github.workflow }} of ${{ github.repository }} has ${{ job.status }} |