Skip to content

[ADP-3400] Automate part of the release process as CI steps (#4749) #9643

[ADP-3400] Automate part of the release process as CI steps (#4749)

[ADP-3400] Automate part of the release process as CI steps (#4749) #9643

Workflow file for this run

name: Windows Unit Tests
on:
push:
tags:
- rc-latest
workflow_dispatch:
inputs:
branch:
description: 'Run tests against branch'
default: 'rc-latest'
status:
description: 'Run tests against status (use `any` as wildcard)'
default: 'passed'
required: true
type: choice
options:
- passed
- any
build:
description: 'Run tests against build number'
required: false
default: 'latest'
jobs:
setup:
env:
BUILDKITE_API_TOKEN: ${{ secrets.BUILDKITE_TOKEN_READ_BUILDS_ARTIFACTS }}
WORK_DIR: ./test/e2e
BRANCH: ${{ github.event.inputs.branch || 'rc-latest' }}
runs-on: windows-2022
name: Download testing bundle
steps:
- uses: actions/[email protected]
with:
ref: ${{ env.BRANCH }}
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.1
bundler-cache: true
- name: Get 'cardano-wallet-tests-win64.zip'
working-directory: ${{ env.WORK_DIR }}
run: |
bundle install
echo "STATUS = ${{ github.event.inputs.status }}"
echo "BUILD = ${{ github.event.inputs.build }}"
rake get_latest_windows_tests[%BRANCH%,cardano-wallet-tests-win64,${{ github.event.inputs.status || 'any' }},${{ github.event.inputs.build || 'latest' }}]
- name: Report version
working-directory: ${{ env.WORK_DIR }}
run: rake display_versions[cardano-wallet-tests-win64]
- name: Save files
uses: actions/upload-artifact@v3
with:
name: cardano-wallet-tests-win64
path: ${{ env.WORK_DIR }}/cardano-wallet-tests-win64
cardano-wallet-test-unit:
name: 'cardano-wallet:unit'
needs: setup
runs-on: windows-2022
steps:
- uses: actions/download-artifact@v3
with:
name: cardano-wallet-tests-win64
- run: '.\\cardano-wallet-unit-test-unit.exe --color --jobs 1 --skip /Cardano.Wallet.DB.Sqlite/ +RTS -M2G -N2'
env:
LOCAL_CLUSTER_CONFIGS: test\data\cluster-configs
text-class-test-unit:
name: 'test-class:unit'
needs: setup
runs-on: windows-2022
steps:
- uses: actions/download-artifact@v3
with:
name: cardano-wallet-tests-win64
- run: '.\\text-class-test-unit.exe --color'
cardano-wallet-launcher-test-unit:
name: 'cardano-wallet-launcher:unit'
needs: setup
runs-on: windows-2022
steps:
- uses: actions/download-artifact@v3
with:
name: cardano-wallet-tests-win64
- run: '.\\cardano-wallet-launcher-test-unit.exe --color'
continue-on-error: true
report:
needs: [cardano-wallet-test-unit, text-class-test-unit, cardano-wallet-launcher-test-unit]
if: always()
runs-on: ubuntu-latest
steps:
- name: Slack Notification on failure
if: |
needs.cardano-wallet-launcher-test-unit.result != 'success' ||
needs.cardano-wallet-test-unit.result != 'success' ||
needs.text-class-test-unit.result != 'success'
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_ICON_EMOJI: ':poop:'
SLACK_USERNAME: 'GitHub Action'
SLACK_MESSAGE: |
*Job Link:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
SLACK_COLOR: '#FF0000'
- name: Slack Notification on success
if: |
needs.cardano-wallet-launcher-test-unit.result == 'success' &&
needs.cardano-wallet-test-unit.result == 'success' &&
needs.text-class-test-unit.result == 'success'
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_ICON_EMOJI: ':rocket:'
SLACK_USERNAME: 'GitHub Action'
SLACK_MESSAGE: |
*Job Link:* ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
SLACK_COLOR: '#00FF00'
# ADP-2517 - Fix integration tests on Windows
# cardano-wallet-test-integration:
# name: 'cardano-wallet:integration'
# needs: setup
# runs-on: windows-2022
# steps:
# - uses: actions/download-artifact@v3
# with:
# name: cardano-wallet-tests-win64
# - run: '.\\cardano-wallet-test-integration.exe --color'
# timeout-minutes: 60