mirror of
https://github.com/lightninglabs/lightning-terminal.git
synced 2026-08-13 12:33:36 +02:00
In this commit we add all the proto methods and messages that we will need for the initial autopilot implementation.
245 lines
5.7 KiB
YAML
245 lines
5.7 KiB
YAML
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.18
|
|
|
|
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
|