Ekw/sre 1001/release desktop wallet #1075
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: Build, lint and test | |
on: | |
# Triggers the workflow on push or pull request events but only for the main branch | |
push: | |
branches: [main, release**] | |
pull_request: | |
branches: [main, release**] | |
# Allows us to run the workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
dependencies: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Cache dependencies | |
id: fetch-dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/node_modules | |
**/dll | |
**/pkg | |
**/target | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/yarn.lock', '**/rust-src/') }} | |
- name: Install rust | |
if: steps.fetch-dependencies.outputs.cache-hit != 'true' | |
run: | | |
rustup default 1.53 | |
- name: Get linux packages | |
if: steps.fetch-dependencies.outputs.cache-hit != 'true' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev libusb-1.0-0-dev rpm | |
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- uses: actions/setup-node@v2 | |
if: steps.fetch-dependencies.outputs.cache-hit != 'true' | |
with: | |
node-version: '16.20.2' | |
- name: Download dependencies | |
if: steps.fetch-dependencies.outputs.cache-hit != 'true' | |
run: yarn | |
build: | |
runs-on: ubuntu-20.04 | |
needs: [dependencies] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.20.2' | |
- name: Get cached dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/node_modules | |
**/dll | |
**/pkg | |
**/target | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/yarn.lock', '**/rust-src/') }} | |
- name: Build | |
run: yarn build-ci | |
- name: Save build artifacts in cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/app/proto | |
**/app/main.prod.js | |
**/app/dist | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/app/proto/', '**/app/main.prod.js', '**/app/dist/') }} | |
lint: | |
runs-on: ubuntu-20.04 | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.20.2' | |
- name: Get cached dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/node_modules | |
**/dll | |
**/pkg | |
**/target | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/yarn.lock', '**/rust-src/') }} | |
- name: Get build cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/app/proto | |
**/app/main.prod.js | |
**/app/dist | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/app/proto/', '**/app/main.prod.js', '**/app/dist/') }} | |
- name: Lint | |
run: yarn lint | |
test: | |
runs-on: ubuntu-20.04 | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- uses: actions/setup-node@v2 | |
with: | |
node-version: '16.20.2' | |
- name: Get cached dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/node_modules | |
**/dll | |
**/pkg | |
**/target | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/yarn.lock', '**/rust-src/') }} | |
- name: Get build cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
**/app/proto | |
**/app/main.prod.js | |
**/app/dist | |
key: ${{ runner.os }}-v3-${{ hashFiles('**/app/proto/', '**/app/main.prod.js', '**/app/dist/') }} | |
- name: Test | |
run: yarn test |