Test Dapp Simple Exchange #21927
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: Test Dapp Simple Exchange | |
on: | |
pull_request: | |
merge_group: | |
schedule: | |
- cron: '17 6 * * *' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test-dapp: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: ['18.x'] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
path: ./agoric-sdk | |
- uses: ./agoric-sdk/.github/actions/restore-node | |
with: | |
node-version: ${{ matrix.node-version }} | |
path: ./agoric-sdk | |
- name: yarn link | |
run: | | |
yarn link-cli ~/bin/agoric | |
echo "/home/runner/bin" >> $GITHUB_PATH | |
working-directory: ./agoric-sdk | |
# Select a branch on dapp to test against by adding text to the body of the | |
# pull request. For example: #dapp-encouragement-branch: zoe-release-0.7.0 | |
# The default is 'main' | |
- name: Get the appropriate dapp branch | |
id: get-branch | |
uses: actions/github-script@v7 | |
with: | |
result-encoding: string | |
script: | | |
let branch = 'main'; | |
if (context.payload.pull_request) { | |
const { body } = context.payload.pull_request; | |
const regex = /^\#dapp-simple-exchange-branch:\s+(\S+)/m; | |
const result = regex.exec(body); | |
if (result) { | |
branch = result[1]; | |
} | |
} | |
console.log(branch); | |
return branch; | |
- name: Check out dapp | |
uses: actions/checkout@v4 | |
with: | |
repository: Agoric/dapp-simple-exchange | |
path: dapp | |
ref: ${{steps.get-branch.outputs.result}} | |
- name: Agoric install in dapp | |
run: agoric install | |
working-directory: ./dapp | |
- name: yarn build in dapp | |
run: yarn build | |
working-directory: ./dapp | |
- name: yarn test in dapp | |
run: yarn test | |
working-directory: ./dapp | |
- name: notify on failure | |
if: failure() && github.event_name != 'pull_request' | |
uses: ./agoric-sdk/.github/actions/notify-status | |
with: | |
webhook: ${{ secrets.SLACK_WEBHOOK_URL }} | |
from: ${{ secrets.NOTIFY_EMAIL_FROM }} | |
to: ${{ secrets.NOTIFY_EMAIL_TO }} | |
password: ${{ secrets.NOTIFY_EMAIL_PASSWORD }} |