Skip to content

run Azure Node warm experiment #2

run Azure Node warm experiment

run Azure Node warm experiment #2

name: Azure Node Warm Experiment
on: push
jobs:
build_client:
name: Build framework
runs-on: ubuntu-latest
env:
working-directory: ./src
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: azure-node-warm-exp
- name: Set up Go 1.21
uses: actions/setup-go@v3
with:
go-version: 1.21
- name: Build client binary
working-directory: ${{ env.working-directory }}
run: env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o stellar main.go
- name: Package client artifact
working-directory: ${{ env.working-directory }}
run: tar -czvf build.tar ./stellar
- name: Upload client artifact
uses: actions/upload-artifact@v3
with:
name: STeLLAR-build
path: ${{ env.working-directory }}/build.tar
retention-days: 1
warm-azure-node-experiment:
name: Azure Warm Runtime Experiment (Node)
needs: build_client
runs-on: [ self-hosted, azure ]
timeout-minutes: 1200
env:
working-directory: src
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
with:
ref: azure-node-warm-exp
- name: Download client artifact
uses: actions/download-artifact@v3
with:
name: STeLLAR-build
- name: Untar client build
working-directory: ${{env.working-directory}}
run: tar --strip-components=1 -xvf ../build.tar -C .
- name: Azure Runtime (Node)
uses: nick-fields/retry@v2
with:
timeout_minutes: 1440
max_attempts: 5
retry_wait_seconds: 60
command: cd src && ./stellar -o latency-samples-azure -l debug -c ../continuous-benchmarking/experiments/warm-hellonode-zip-azure.json
- uses: actions/upload-artifact@v3
with:
name: cold-hellonode-zip-azure
path: ${{env.working-directory}}/latency-samples-azure
- name: Send Slack message using Incoming Webhooks
if: ${{ failure() }}
uses: slackapi/[email protected]
with:
payload: |
{
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "Scheduled experiment (Job status)"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Workflow Name*: ${{ github.workflow }}"
},
{
"type": "mrkdwn",
"text": "*Job Name*: ${{ github.job }}"
},
{
"type": "mrkdwn",
"text": "*Job Status*: ${{ job.status }} ❌"
}
]
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "<!channel>"
}
]
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK