Skip to content

Nightly Tests

Nightly Tests #98

Workflow file for this run

name: "Nightly Tests"
env:
CACHE_NAME: marlowe-temp
ALLOWED_URIS: "https://github.com https://api.github.com"
TRUSTED_PUBLIC_KEYS: "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ= marlowe-temp.cachix.org-1:1gPjVFpu4QjaAT3tRurCioX+BC23V7mjvFwpP5bV0Ec= loony-tools:pr9m4BkM/5/eSTZlkQyRt57Jz7OMBxNSUiMC4FkcNfk="
SUBSTITUTERS: "https://cache.nixos.org/ https://cache.iog.io https://marlowe-temp.cachix.org https://cache.zw3rk.com/"
on:
schedule:
# Run at 00:00 UTC every day
- cron: 0 0 * * *
# Allow running manually
workflow_dispatch:
jobs:
check-deploy:
runs-on: ubuntu-latest
steps:
- name: Check deploy
run: |
CURRENT_DEPLOY=$(curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/input-output-hk/marlowe-cardano/actions/workflows/deploy.yml/runs\?per_page\=1\&branch\=main\&status\=success | jq --raw-output '.workflow_runs[0].head_sha')
if [ $CURRENT_DEPLOY != $GITHUB_SHA ];
then
echo "Unable to run nightly tests on $GITHUB_SHA, currently deployed commit is $CURRENT_DEPLOY"
exit 1
fi
marlowe-finder:
runs-on: ubuntu-latest
needs: [check-deploy]
env:
ENVIRONMENT: preprod
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Nix
uses: cachix/install-nix-action@v21
with:
nix_path: nixpkgs=channel:nixos-unstable
install_url: https://releases.nixos.org/nix/nix-2.10.3/install
extra_nix_config: |
allowed-uris = ${{ env.ALLOWED_URIS }}
trusted-public-keys = ${{ env.TRUSTED_PUBLIC_KEYS }}
substituters = ${{ env.SUBSTITUTERS }}
experimental-features = nix-command flakes
- name: Setup Cachix
uses: cachix/cachix-action@v12
with:
name: ${{ env.CACHE_NAME }}
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Build Marlowe Finder
run: |
nix build .#ghc8107-marlowe-apps-exe-marlowe-finder
- name: Install SSH keys
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Run Marlowe Finder on Preprod
run: |
scripts/setup-dev-connection &
while ! nc -zv 127.0.0.1 3700 > /dev/null 2>&1
do
:
done
result/bin/marlowe-finder --end-at-tip
marlowe-scaling:
runs-on: ubuntu-latest
needs: [check-deploy]
env:
ENVIRONMENT: preview
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Nix
uses: cachix/install-nix-action@v21
with:
nix_path: nixpkgs=channel:nixos-unstable
install_url: https://releases.nixos.org/nix/nix-2.10.3/install
extra_nix_config: |
allowed-uris = ${{ env.ALLOWED_URIS }}
trusted-public-keys = ${{ env.TRUSTED_PUBLIC_KEYS }}
substituters = ${{ env.SUBSTITUTERS }}
experimental-features = nix-command flakes
- name: Setup Cachix
uses: cachix/cachix-action@v12
with:
name: ${{ env.CACHE_NAME }}
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Build Marlowe Scaling
run: |
nix build .#ghc8107-marlowe-apps-exe-marlowe-scaling
- name: Install SSH keys
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Copy Signing Keys
env:
TEST_WALLET_SIGNING_KEYS: ${{ secrets.TEST_WALLET_SIGNING_KEYS }}
run: |
i=0
while IFS= read -r key
do
echo $key | jq . > test-wallets/test.$i.skey
i=$((i+1))
done < <(printf '%s\n' "$TEST_WALLET_SIGNING_KEYS")
- name: Run Marlowe Scaling on Preview
run: |
scripts/setup-dev-connection &
while ! nc -zv 127.0.0.1 3700 > /dev/null 2>&1
do
:
done
result/bin/marlowe-scaling 2 \
"$(cat test-wallets/test.0.addr)=test-wallets/test.0.skey" \
"$(cat test-wallets/test.1.addr)=test-wallets/test.1.skey" \
"$(cat test-wallets/test.2.addr)=test-wallets/test.2.skey" \
"$(cat test-wallets/test.3.addr)=test-wallets/test.3.skey" \
"$(cat test-wallets/test.4.addr)=test-wallets/test.4.skey" \
"$(cat test-wallets/test.5.addr)=test-wallets/test.5.skey" \
"$(cat test-wallets/test.6.addr)=test-wallets/test.6.skey" \
"$(cat test-wallets/test.7.addr)=test-wallets/test.7.skey" \
"$(cat test-wallets/test.8.addr)=test-wallets/test.8.skey" \
"$(cat test-wallets/test.9.addr)=test-wallets/test.9.skey" \
"$(cat test-wallets/test.10.addr)=test-wallets/test.10.skey" \
"$(cat test-wallets/test.11.addr)=test-wallets/test.11.skey" \
"$(cat test-wallets/test.12.addr)=test-wallets/test.12.skey" \
"$(cat test-wallets/test.13.addr)=test-wallets/test.13.skey" \
"$(cat test-wallets/test.14.addr)=test-wallets/test.14.skey" \
"$(cat test-wallets/test.15.addr)=test-wallets/test.15.skey" \
"$(cat test-wallets/test.16.addr)=test-wallets/test.16.skey" \
"$(cat test-wallets/test.17.addr)=test-wallets/test.17.skey" \
"$(cat test-wallets/test.18.addr)=test-wallets/test.18.skey" \
"$(cat test-wallets/test.19.addr)=test-wallets/test.19.skey"