Skip to content

E2E Windows

E2E Windows #1066

Workflow file for this run

name: E2E Windows
on:
schedule:
- cron: "0 20 * * *"
workflow_dispatch:
inputs:
network:
description: 'Network'
required: true
default: 'preprod'
branch:
description: 'Run tests against branch'
default: 'master'
tags:
description: 'Test tags (all, light, offchain...)'
default: 'all'
jobs:
test:
runs-on: windows-latest
steps:
- name: Check space
run: Get-PSDrive
- name: configure Pagefile
uses: al-cheb/configure-pagefile-action@v1.2
with:
minimum-size: 16GB
maximum-size: 24GB
disk-root: "C:"
- name: Checkout
shell: bash
run: |
git clone https://github.com/input-output-hk/cardano-wallet.git C:/cardano-wallet --depth 1 --no-single-branch
cd /c/cardano-wallet
git checkout ${GITHUB_REF#refs/heads/}
- name: Set up Ruby
uses: ruby/setup-ruby@v1.127.0
with:
ruby-version: 2.7.1
bundler-cache: true
- name: Install dependencies
working-directory: C:/cardano-wallet/test/e2e
run: bundle install
- name: Prepare Windows
run: |
choco install wget
choco install unzip
choco install nssm
- name: 🕒 Get Date/Time
working-directory: C:/cardano-wallet/test/e2e
id: date-time
shell: bash
run: |
echo "value=$(rake datetime)" >> $GITHUB_OUTPUT
- name: 💾 GH Cache node db
id: cache
uses: actions/cache@v3
with:
path: C:/cardano-wallet/test/e2e/state/node_db/${{ env.NETWORK }}
key: node-db-${{ runner.os }}-${{ env.NETWORK }}-${{ steps.date-time.outputs.value }}
restore-keys: |
node-db-${{ runner.os }}-${{ env.NETWORK }}-
node-db-Linux-${{ env.NETWORK }}-
- name: 💾 Cache wallet db
id: cache-wallet
uses: actions/cache@v3
with:
path: C:/cardano-wallet/test/e2e/state/wallet_db/${{ env.NETWORK }}
key: wallet-db3-${{ runner.os }}-${{ env.NETWORK }}-${{ steps.date-time.outputs.value }}
restore-keys: |
wallet-db3-${{ runner.os }}-${{ env.NETWORK }}-
- name: ⚙️ Setup (get latest bins and configs and decode fixtures)
working-directory: C:/cardano-wallet/test/e2e
run: rake setup[%NETWORK%,%BRANCH%]
- name: 🔍 Display versions
working-directory: C:/cardano-wallet/test/e2e
run: rake display_versions
- name: 🚀 Start node and wallet
working-directory: C:/cardano-wallet/test/e2e
run: rake start_node_and_wallet[%NETWORK%]
- name: ⏳ Wait until node is synced
working-directory: C:/cardano-wallet/test/e2e
run: rake wait_until_node_synced
- name: 🧪 Run all tests
working-directory: C:/cardano-wallet/test/e2e
run: rake spec SPEC_OPTS="-t %TAGS%"
- name: 🏁 Stop node and wallet
working-directory: C:/cardano-wallet/test/e2e
run: rake stop_node_and_wallet[%NETWORK%]
- name: 📎 Upload state
uses: actions/upload-artifact@v3
if: always()
with:
name: ${{ runner.os }}-state
path: |
C:/cardano-wallet/test/e2e/state/logs
C:/cardano-wallet/test/e2e/state/configs
C:/cardano-wallet/test/e2e/state/wallet_db
env:
NETWORK: ${{ github.event.inputs.network || 'preprod' }}
BUILDKITE_API_TOKEN: ${{ secrets.BUILDKITE_TOKEN_READ_BUILDS_ARTIFACTS }}
TESTS_E2E_FIXTURES: ${{ secrets.TESTS_E2E_FIXTURES }}
BRANCH: ${{ github.event.inputs.branch || 'master' }}
NODE_DB_CACHE: ${{ github.event.inputs.node_db_cache || 'GH' }}
TAGS: ${{ github.event.inputs.tags || 'all' }}