tapd: add new CLI command for decodeassetinvoice
along with corresponding itest for DecodeAssetPayReq
#1928
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: CI | |
on: | |
push: | |
branches: | |
- "master" | |
pull_request: | |
branches: | |
- "*" | |
env: | |
# If you change this value, please change it in the following files as well: | |
# /Dockerfile | |
# /dev.Dockerfile | |
GO_VERSION: 1.22.6 | |
jobs: | |
######################## | |
# frontend build checks | |
######################## | |
frontend: | |
name: frontend tests on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node_version: [ 16.x ] | |
os: [ ubuntu-latest, windows-latest, macOS-latest ] | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup nodejs ${{ matrix.node_version }} | |
uses: ./.github/actions/setup-node | |
with: | |
node-version: '${{ matrix.node_version }}' | |
- name: install dependencies | |
working-directory: ./app | |
run: yarn | |
- name: lint code | |
working-directory: ./app | |
run: yarn lint | |
- name: typescript compile | |
working-directory: ./app | |
run: yarn tsc | |
- name: unit tests | |
working-directory: ./app | |
run: yarn test:ci | |
######################## | |
# backend build checks | |
######################## | |
backend: | |
name: backend build on ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
go_version: [ 1.18.x ] | |
os: [ ubuntu-latest, windows-latest, macOS-latest ] | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup nodejs ${{ matrix.node_version }} | |
uses: ./.github/actions/setup-node | |
with: | |
node-version: '${{ matrix.node_version }}' | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: build backend binary | |
run: make build | |
- name: build CLI binaries | |
run: make go-install-cli | |
######################## | |
# proto compile check | |
######################## | |
proto-compile-check: | |
name: RPC proto compilation check | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup nodejs ${{ matrix.node_version }} | |
uses: ./.github/actions/setup-node | |
with: | |
node-version: '${{ matrix.node_version }}' | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: install dependencies | |
working-directory: ./app | |
run: yarn | |
- name: run check | |
run: make rpc-js-compile && make protos-check | |
- name: compile rpc for golang | |
run: make rpc | |
- name: run check | |
run: make mod-check | |
######################## | |
# check commits | |
######################## | |
check-commits: | |
if: github.event_name == 'pull_request' | |
name: check commits | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: fetch and rebase on ${{ github.base_ref }} | |
run: | | |
git remote add upstream https://github.com/${{ github.repository }} | |
git fetch upstream | |
export GIT_COMMITTER_EMAIL="litd-ci@example.com" | |
export GIT_COMMITTER_NAME="LiT CI" | |
git rebase upstream/${{ github.base_ref }} | |
- name: check commits | |
run: scripts/check-each-commit.sh upstream/${{ github.base_ref }} | |
######################## | |
# lint code | |
######################## | |
lint: | |
name: lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: prepare dummy static data | |
run: mkdir -p app/build; touch app/build/index.html | |
- name: run check | |
run: make lint mod-check | |
######################## | |
# unit race tests | |
######################## | |
unit-race: | |
name: unit-race | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: run check | |
run: make unit-race | |
######################## | |
# unit tests | |
######################## | |
unit: | |
name: unit tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: run check | |
run: make unit | |
######################## | |
# integration tests | |
######################## | |
itest: | |
name: integration test | |
runs-on: ubuntu-latest | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: setup nodejs ${{ matrix.node_version }} | |
uses: ./.github/actions/setup-node | |
with: | |
node-version: '${{ matrix.node_version }}' | |
- name: setup go ${{ env.GO_VERSION }} | |
uses: ./.github/actions/setup-go | |
with: | |
go-version: '${{ env.GO_VERSION }}' | |
- name: install dependencies | |
working-directory: ./app | |
run: yarn | |
- name: run check | |
run: make itest | |
- name: Zip log files on failure | |
if: ${{ failure() }} | |
timeout-minutes: 5 | |
run: 7z a logs-itest.zip itest/**/*.log | |
- name: Upload log files on failure | |
uses: actions/upload-artifact@v3 | |
if: ${{ failure() }} | |
with: | |
name: logs-itest | |
path: logs-itest.zip | |
retention-days: 5 | |
######################## | |
# check PR updates release notes | |
######################## | |
release-notes-check: | |
name: check release notes updated | |
runs-on: ubuntu-latest | |
if: '!contains(github.event.pull_request.labels.*.name, ''no-changelog'')' | |
steps: | |
- name: git checkout | |
uses: actions/checkout@v3 | |
- name: release notes check | |
run: scripts/check-release-notes.sh |