Skip to content

chore(test): more coverage #510

chore(test): more coverage

chore(test): more coverage #510

Workflow file for this run

name: Build / Test / Evolve
on:
workflow_dispatch:
push:
paths:
- src/**/*
jobs:
integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- run: yarn --frozen-lockfile
- run: yarn build
- run: yarn test:integration
unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: Check out repository code
- name: Setup Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: '5.3' # Specify the Lua version you need
- name: Setup LuaRocks
uses: leafo/gh-actions-luarocks@v4.3.0
- name: Install Busted
run: luarocks install ar-io-ao-0.1-1.rockspec
- name: Run Busted Tests
run: busted . && luacov
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/luacov.report.out
sdk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- run: git clone -b alpha https://github.com/ar-io/ar-io-sdk.git
- run: yarn
working-directory: ./ar-io-sdk
- run: yarn test:esm # full e2e integration tests
working-directory: ./ar-io-sdk
env:
IO_PROCESS_ID: ${{ vars.IO_NETWORK_PROCESS_ID }}
AO_CU_URL: ${{ vars.AO_CU_URL }}
evolve:
runs-on: ubuntu-latest
needs: [integration, unit, sdk]
if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main'
environment: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- run: yarn --frozen-lockfile
- run: yarn evolve
env:
WALLET: ${{ secrets.WALLET }}
IO_NETWORK_PROCESS_ID: ${{ vars.IO_NETWORK_PROCESS_ID }}
AO_CU_URL: ${{ vars.AO_CU_URL }}
- name: Notify Success
if: success()
uses: rtCamp/action-slack-notify@v2.3.0
env:
SLACK_COLOR: ${{ job.status }}
SLACK_TITLE: Evolved IO Process!
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CUSTOM_PAYLOAD: |
{
"attachments": [{
"fallback": "Updated IO Process!",
"color": "good",
"title": "Details",
"text": 'The IO ${{ github.ref_name == 'main' && 'Testnet' || 'Devnet' }} Process has been updated!',
"fields": [{
"title": "Network",
"value": "${{ github.ref_name == 'main' && 'testnet' || 'devnet' }}",
"short": true
},
{
"title": "Process ID",
"value": "${{ vars.IO_NETWORK_PROCESS_ID }}",
"short": true
},
{
"title": "View on ao.link",
"value": "https://www.ao.link/#/entity/${{ vars.IO_NETWORK_PROCESS_ID }}?tab=source-code",
"short": false
}
,
{
"title": "Commit",
"value": "<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
}
]
}]
}
- name: Notify Failure
if: failure()
uses: rtCamp/action-slack-notify@v2
env:
SLACK_COLOR: danger
SLACK_TITLE: IO Process Evolution Failed!
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CUSTOM_PAYLOAD: |
{
"text": "IO Process Evolution Failed!",
"attachments": [{
"fallback": "Failed to update IO Process!",
"color": "danger",
"title": "Details",
"text": 'The IO "${{ github.ref_name == 'main' && 'testnet' || 'devnet' }} Process ( ${{ vars.IO_NETWORK_PROCESS_ID }}) FAILED to update!',
"fields": [{
"title": "Network",
"value": "${{ github.ref_name == 'main' && 'testnet' || 'devnet' }}",
"short": true
},
{
"title": "Process ID",
"value": "${{ vars.IO_NETWORK_PROCESS_ID }}",
"short": true
},
{
"title": "GitHub Action",
"value": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
"short": false
},
{
"title": "Commit",
"value": "<https://github.com/${{ github.repository }}/commit/${{ github.sha }}|${{ github.sha }}>"
}
]
}]
}