chore: fix nightly jobs and allow choosing flows (#769)
* chore: fix nightly jobs and allow choosing flows * chore: restore env variable CYPRESS_NIGHTLY_RUN Co-authored-by: Rado <rado@vegaprotocol.io>
This commit is contained in:
parent
54d8f818fb
commit
462ccc93c5
138
.github/workflows/capsule-cypress-manual-trigger.yml
vendored
Normal file
138
.github/workflows/capsule-cypress-manual-trigger.yml
vendored
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
name: Capsule tests -- manual trigger
|
||||||
|
|
||||||
|
# This workflow runs the frontend tests against chosen branch
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
project:
|
||||||
|
description: 'Project'
|
||||||
|
required: true
|
||||||
|
type: choice
|
||||||
|
options:
|
||||||
|
- explorer
|
||||||
|
- simple-trading-app
|
||||||
|
- stats
|
||||||
|
- token
|
||||||
|
- trading
|
||||||
|
includeFlows:
|
||||||
|
description: 'Include long flows (if any)?'
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
manual:
|
||||||
|
name: Run capsule tests -- manual trigger
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GO111MODULE: 'on'
|
||||||
|
GOPROXY: ${{ secrets.GO_PROXY }}
|
||||||
|
steps:
|
||||||
|
#######
|
||||||
|
## Setup langs
|
||||||
|
#######
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v3
|
||||||
|
id: go
|
||||||
|
with:
|
||||||
|
go-version: 1.18
|
||||||
|
- name: Set up Node 16
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
id: npm
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
|
||||||
|
#######
|
||||||
|
## Checkout capsule
|
||||||
|
#######
|
||||||
|
|
||||||
|
# Checkout capsule to build local network
|
||||||
|
- name: Checkout capsule
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
repository: vegaprotocol/vegacapsule
|
||||||
|
ref: main
|
||||||
|
token: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
||||||
|
path: './capsule'
|
||||||
|
|
||||||
|
#######
|
||||||
|
## Build binaries
|
||||||
|
#######
|
||||||
|
- name: Build capsule
|
||||||
|
run: go install
|
||||||
|
working-directory: capsule
|
||||||
|
|
||||||
|
- name: Set GOBIN
|
||||||
|
run: echo GOBIN=$(go env GOPATH)/bin >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install binaries
|
||||||
|
run: vegacapsule install-bins
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
||||||
|
GOBIN: ${{ env.GOBIN }}
|
||||||
|
|
||||||
|
######
|
||||||
|
## Start capsule
|
||||||
|
######
|
||||||
|
- name: Login to docker
|
||||||
|
run: echo -n ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }} | docker login https://ghcr.io -u vega-ci-bot --password-stdin
|
||||||
|
|
||||||
|
- name: Start nomad
|
||||||
|
run: vegacapsule nomad &
|
||||||
|
|
||||||
|
- name: Bootstrap network
|
||||||
|
run: vegacapsule network bootstrap --config-path=./net_confs/config.hcl --force
|
||||||
|
working-directory: capsule
|
||||||
|
|
||||||
|
######
|
||||||
|
## Setup a Vega wallet for our user
|
||||||
|
######
|
||||||
|
- name: Create passphrase
|
||||||
|
run: echo "${{ secrets.CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE }}" > ./passphrase
|
||||||
|
- name: Create recovery
|
||||||
|
run: echo "${{ secrets.TRADING_TEST_VEGA_WALLET_RECOVERY }}" > ./recovery
|
||||||
|
|
||||||
|
- name: Initialize wallet
|
||||||
|
run: vegawallet init -f --home ~/.vegacapsule/testnet/wallet
|
||||||
|
- name: Import wallet
|
||||||
|
run: vegawallet import -w UI_Trading_Test --recovery-phrase-file ./recovery -p ./passphrase --home ~/.vegacapsule/testnet/wallet
|
||||||
|
- name: Create public key 2
|
||||||
|
run: vegawallet key generate -w UI_Trading_Test -p ./passphrase --home ~/.vegacapsule/testnet/wallet
|
||||||
|
- name: Start service
|
||||||
|
run: vegawallet service run --network DV --automatic-consent --home ~/.vegacapsule/testnet/wallet &
|
||||||
|
|
||||||
|
######
|
||||||
|
## Run some tests
|
||||||
|
######
|
||||||
|
|
||||||
|
# Checkout front ends
|
||||||
|
- name: Checkout frontend mono repo
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.ref }}
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Install root dependencies
|
||||||
|
run: yarn install
|
||||||
|
|
||||||
|
- name: Run Cypress tests
|
||||||
|
run: yarn nx run-many --target=e2e --project=${{inputs.project}} --record --key ${{ secrets.CYPRESS_RECORD_KEY }} --browser chrome
|
||||||
|
env:
|
||||||
|
CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE: ${{ secrets.CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE }}
|
||||||
|
CYPRESS_SLACK_WEBHOOK: ${{ secrets.CYPRESS_SLACK_WEBHOOK }}
|
||||||
|
CYPRESS_ETH_WALLET_MNEMONIC: ${{ secrets.CYPESS_ETH_WALLET_MNEMONIC }}
|
||||||
|
CYPRESS_INCLUDE_FLOWS: ${{inputs.includeFlows}}
|
||||||
|
|
||||||
|
######
|
||||||
|
## Upload logs
|
||||||
|
######
|
||||||
|
|
||||||
|
- name: Logs
|
||||||
|
if: ${{ always() }}
|
||||||
|
run: vegacapsule network logs > vega-capsule-logs.txt
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: logs
|
||||||
|
path: ./vega-capsule-logs.txt
|
63
.github/workflows/capsule-cypress-nightly.yml
vendored
63
.github/workflows/capsule-cypress-nightly.yml
vendored
@ -28,49 +28,9 @@ jobs:
|
|||||||
node-version: 16
|
node-version: 16
|
||||||
|
|
||||||
#######
|
#######
|
||||||
## Checkout all the things
|
## Checkout capsule
|
||||||
#######
|
#######
|
||||||
|
|
||||||
# Checkout repos required to build vega capsule
|
|
||||||
- name: Checkout vega
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: vegaprotocol/vega
|
|
||||||
ref: master
|
|
||||||
token: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
|
||||||
path: './vega'
|
|
||||||
|
|
||||||
- name: Checkout data node
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: vegaprotocol/data-node
|
|
||||||
ref: main
|
|
||||||
token: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
|
||||||
path: './data-node'
|
|
||||||
|
|
||||||
- name: Checkout protos
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: vegaprotocol/protos
|
|
||||||
ref: master
|
|
||||||
token: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
|
||||||
path: './protos'
|
|
||||||
|
|
||||||
- name: Checkout vegatools
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: vegaprotocol/vegatools
|
|
||||||
ref: main
|
|
||||||
token: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
|
||||||
path: './vegatools'
|
|
||||||
|
|
||||||
- name: Checkout vega wallet
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
repository: vegaprotocol/vegawallet
|
|
||||||
ref: master
|
|
||||||
path: './vegawallet'
|
|
||||||
|
|
||||||
# Checkout capsule to build local network
|
# Checkout capsule to build local network
|
||||||
- name: Checkout capsule
|
- name: Checkout capsule
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
@ -87,28 +47,26 @@ jobs:
|
|||||||
run: go install
|
run: go install
|
||||||
working-directory: capsule
|
working-directory: capsule
|
||||||
|
|
||||||
- name: Build vega
|
- name: Set GOBIN
|
||||||
run: go install ./cmd/vega/
|
run: echo GOBIN=$(go env GOPATH)/bin >> $GITHUB_ENV
|
||||||
working-directory: vega
|
|
||||||
|
|
||||||
- name: Build vegawallet
|
- name: Install binaries
|
||||||
run: go install
|
run: vegacapsule install-bins
|
||||||
working-directory: vegawallet
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }}
|
||||||
- name: Build data-node
|
GOBIN: ${{ env.GOBIN }}
|
||||||
run: go install ./cmd/data-node/
|
|
||||||
working-directory: data-node
|
|
||||||
|
|
||||||
######
|
######
|
||||||
## Start capsule
|
## Start capsule
|
||||||
######
|
######
|
||||||
- name: Login to docker
|
- name: Login to docker
|
||||||
run: echo -n ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }} | docker login https://ghcr.io -u vega-ci-bot --password-stdin
|
run: echo -n ${{ secrets.VEGA_CI_BOT_GITHUB_TOKEN }} | docker login https://ghcr.io -u vega-ci-bot --password-stdin
|
||||||
|
|
||||||
- name: Start nomad
|
- name: Start nomad
|
||||||
run: vegacapsule nomad &
|
run: vegacapsule nomad &
|
||||||
|
|
||||||
- name: Bootstrap network
|
- name: Bootstrap network
|
||||||
run: vegacapsule network bootstrap --config-path=./net_confs/config.hcl
|
run: vegacapsule network bootstrap --config-path=./net_confs/config.hcl --force
|
||||||
working-directory: capsule
|
working-directory: capsule
|
||||||
|
|
||||||
######
|
######
|
||||||
@ -149,6 +107,7 @@ jobs:
|
|||||||
CYPRESS_SLACK_WEBHOOK: ${{ secrets.CYPRESS_SLACK_WEBHOOK }}
|
CYPRESS_SLACK_WEBHOOK: ${{ secrets.CYPRESS_SLACK_WEBHOOK }}
|
||||||
CYPRESS_ETH_WALLET_MNEMONIC: ${{ secrets.CYPESS_ETH_WALLET_MNEMONIC }}
|
CYPRESS_ETH_WALLET_MNEMONIC: ${{ secrets.CYPESS_ETH_WALLET_MNEMONIC }}
|
||||||
CYPRESS_NIGHTLY_RUN: true
|
CYPRESS_NIGHTLY_RUN: true
|
||||||
|
CYPRESS_INCLUDE_FLOWS: true
|
||||||
|
|
||||||
######
|
######
|
||||||
## Upload logs
|
## Upload logs
|
||||||
|
1
.github/workflows/capsule-cypress.yml
vendored
1
.github/workflows/capsule-cypress.yml
vendored
@ -113,6 +113,7 @@ jobs:
|
|||||||
CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE: ${{ secrets.CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE }}
|
CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE: ${{ secrets.CYPRESS_TRADING_TEST_VEGA_WALLET_PASSPHRASE }}
|
||||||
CYPRESS_SLACK_WEBHOOK: ${{ secrets.CYPRESS_SLACK_WEBHOOK }}
|
CYPRESS_SLACK_WEBHOOK: ${{ secrets.CYPRESS_SLACK_WEBHOOK }}
|
||||||
CYPRESS_ETH_WALLET_MNEMONIC: ${{ secrets.CYPESS_ETH_WALLET_MNEMONIC }}
|
CYPRESS_ETH_WALLET_MNEMONIC: ${{ secrets.CYPESS_ETH_WALLET_MNEMONIC }}
|
||||||
|
CYPRESS_INCLUDE_FLOWS: false
|
||||||
|
|
||||||
######
|
######
|
||||||
## Upload logs
|
## Upload logs
|
||||||
|
@ -15,3 +15,4 @@ NX_LOCAL_PROVIDER_URL=http://localhost:8545/
|
|||||||
|
|
||||||
#Test configuration variables
|
#Test configuration variables
|
||||||
CYPRESS_FAIRGROUND=false
|
CYPRESS_FAIRGROUND=false
|
||||||
|
CYPRESS_INCLUDE_FLOWS=true
|
@ -6,13 +6,18 @@ module.exports = defineConfig({
|
|||||||
baseUrl: 'http://localhost:4210',
|
baseUrl: 'http://localhost:4210',
|
||||||
fileServerFolder: '.',
|
fileServerFolder: '.',
|
||||||
fixturesFolder: false,
|
fixturesFolder: false,
|
||||||
specPattern: '**/*.cy.{js,jsx,ts,tsx}',
|
specPattern: [
|
||||||
|
'./src/integration/view/**/*.cy.{js,jsx,ts,tsx}',
|
||||||
|
process.env.CYPRESS_INCLUDE_FLOWS
|
||||||
|
? './src/integration/flow/**/*.cy.{js,jsx,ts,tsx}'
|
||||||
|
: '',
|
||||||
|
],
|
||||||
modifyObstructiveCode: false,
|
modifyObstructiveCode: false,
|
||||||
supportFile: './src/support/index.ts',
|
supportFile: './src/support/index.ts',
|
||||||
video: true,
|
video: true,
|
||||||
videoUploadOnPasses: false,
|
videoUploadOnPasses: false,
|
||||||
videosFolder: '../../dist/cypress/apps/explorer-e2e/videos',
|
videosFolder: '../../dist/cypress/apps/token-e2e/videos',
|
||||||
screenshotsFolder: '../../dist/cypress/apps/explorer-e2e/screenshots',
|
screenshotsFolder: '../../dist/cypress/apps/token-e2e/screenshots',
|
||||||
chromeWebSecurity: false,
|
chromeWebSecurity: false,
|
||||||
viewportWidth: 1440,
|
viewportWidth: 1440,
|
||||||
viewportHeight: 900,
|
viewportHeight: 900,
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
const fairgroundSet = Cypress.env('FAIRGROUND');
|
|
||||||
|
|
||||||
describe('token', () => {
|
|
||||||
beforeEach(() => cy.visit('/'));
|
|
||||||
|
|
||||||
it('should always have a header title based on environment', () => {
|
|
||||||
cy.get('[data-testid="header-title"]', { timeout: 8000 }).should(
|
|
||||||
'have.text',
|
|
||||||
`${fairgroundSet ? 'Fairground token' : 'VEGA TOKEN'}`
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user