feat(redelegate stake): init gar implementaion PE-7058 #978
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: Build / Test / Evolve | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- develop | |
- main | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: leafo/gh-actions-lua@v10 | |
with: | |
luaVersion: '5.3' | |
- name: Setup LuaRocks | |
uses: leafo/[email protected] | |
- name: Install Luacheck | |
run: luarocks install luacheck | |
- run: luacheck src spec | |
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/[email protected] | |
- 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, lint] | |
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/[email protected] | |
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 }}>" | |
} | |
] | |
}] | |
} |