fix(hooks): Resolve issue updating element reference in useHook
hook
#119
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: CI/CD | |
on: | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: override release tag | |
required: false | |
push: | |
branches: | |
- main | |
- canary | |
- experimental | |
env: | |
CI: true | |
# NX_CLOUD_DISTRIBUTED_EXECUTION: true # this enables DTE | |
# NX_CLOUD_DISTRIBUTED_EXECUTION_AGENT_COUNT: 3 # expected number of agents | |
# NX_BRANCH: ${{ github.event.number || github.ref_name }} | |
# NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} | |
STORM_BOT: Stormie-Bot | |
STORM_REPOSITORY: ${{ github.repositoryUrl }} | |
STORM_WORKSPACE_ROOT: ${{ github.workspace }} | |
GITHUB_ACTOR: ${{ github.actor }} | |
GITHUB_TOKEN: ${{ github.token }} | |
NPM_TOKEN: ${{ secrets.STORM_BOT_NPM_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.STORM_BOT_CARGO_TOKEN }} | |
jobs: | |
start: | |
name: Started CI workflow | |
if: github.repository == 'storm-software/storm-stack' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/canary' || github.ref == 'refs/heads/experimental') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Send Slack notification - Deployment started | |
uses: slackapi/[email protected] | |
with: | |
channel-id: "notifications" | |
payload: | | |
{ | |
"text": "Deployment for ${{ github.repository }} has started (In Progress)", | |
"attachments": [ | |
{ | |
"pretext": "Deployment for ${{ github.repository }} has started", | |
"color": "1fb2a6", | |
"fields": [ | |
{ | |
"title": "Status", | |
"short": true, | |
"value": "In Progress" | |
} | |
] | |
} | |
] | |
} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.STORM_BOT_SLACK_TOKEN }} | |
- name: Send Discord notification - Deployment started | |
uses: Ilshidur/action-discord@master | |
with: | |
args: "Deployment for ${{ github.repository }} has started - #${{ | |
github.run_number }}" | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.STORM_BOT_DISCORD_WEBHOOK }} | |
DISCORD_USERNAME: ${{ env.STORM_BOT }} | |
DISCORD_AVATAR: "https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-stormie.png" | |
DISCORD_EMBEDS: | |
'[{"title": "Deployment #${{ github.run_number }} has started", | |
"description": "Deployment for ${{ github.repository }} is currently | |
in process - #${{ github.run_number }}", "thumbnail": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
}, "image": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/logo-fill.png" | |
}, "author": { "name": "${{ github.actor }}", "url": | |
"https://github.com/${{ github.actor }}", "icon_url": | |
"https://avatars.githubusercontent.com/u/${{ github.actor_id }}?v=4" | |
}, "fields": [ { "name": "Repository", "value": "${{ | |
github.repository }}" }, { "name": "Repository URL", "value": "${{ | |
github.repositoryUrl }}" }, { "name": "Pipeline Status", "value": | |
"In Progress" }], "color": 2077350, "timestamp": "${{ | |
github.event.repository.updated_at }}", "url": "${{ | |
github.event.pull_request.html_url || github.event.head_commit.url | |
}}", "footer": { "text": "Click here to see the full workflow | |
details: ${{ github.event.pull_request.html_url || | |
github.event.head_commit.url }}", "icon_url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
} }]' | |
- name: Send Telegram notification - Deployment started | |
uses: storm-software/action-telegram-notify@main | |
with: | |
status: "in-progress" | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.STORM_BOT_TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT: ${{ secrets.STORM_BOT_TELEGRAM_NOTIFICATION_CHAT }} | |
release: | |
name: Continuous Integration | |
if: always() && !cancelled() && !contains(needs.*.result, 'failure') && github.event.pull_request.draft == false | |
needs: | |
- start | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
permissions: | |
actions: read | |
contents: write | |
id-token: write | |
steps: | |
- name: Checkout [Pull Request] | |
uses: actions/checkout@v4 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
# By default, PRs will be checked-out based on the Merge Commit, but we want the actual branch HEAD. | |
ref: ${{ github.event.pull_request.head.sha }} | |
# We need to fetch all branches and commits so that Nx affected has a base to compare against. | |
fetch-depth: 0 | |
token: ${{ secrets.STORM_BOT_GITHUB_TOKEN }} | |
- name: Checkout `main` branch | |
uses: actions/checkout@v4 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
# We need to fetch all branches and commits so that Nx affected has a base to compare against. | |
fetch-depth: 0 | |
token: ${{ secrets.STORM_BOT_GITHUB_TOKEN }} | |
- name: Setup workspace | |
uses: storm-software/action-setup@main | |
with: | |
package-manager-version: 9.12.1 | |
storm-bot-github-token: ${{ secrets.STORM_BOT_GITHUB_TOKEN }} | |
- name: Run Nx Set SHAs | |
uses: nrwl/nx-set-shas@v4 | |
with: | |
main-branch-name: main | |
- name: Run build script | |
run: pnpm build-all | |
shell: bash | |
- name: Release Library Version Updates | |
run: pnpm release --base=${{ env.NX_BASE }} --head=${{ env.NX_HEAD }} | |
env: | |
GITHUB_ACTOR: ${{ github.actor }} | |
GITHUB_TOKEN: ${{ github.token }} | |
GH_TOKEN: ${{ github.token }} | |
NPM_TOKEN: ${{ secrets.STORM_BOT_NPM_TOKEN }} | |
CARGO_REGISTRY_TOKEN: ${{ secrets.STORM_BOT_CARGO_TOKEN }} | |
STORM_BOT: Stormie-Bot | |
STORM_WORKSPACE_ROOT: ${{ github.workspace }} | |
STORM_REPOSITORY: ${{ github.repositoryUrl }} | |
TAG: ${{ inputs.tag }} | |
success: | |
needs: | |
- release | |
if: ${{ success() }} | |
name: Send success notification | |
runs-on: ubuntu-latest | |
steps: | |
- name: Send Slack notification - Deployment successful | |
uses: slackapi/[email protected] | |
with: | |
channel-id: "notifications" | |
update-ts: ${{ steps.release.outputs.ts }} | |
payload: | | |
{ | |
"text": "Deployment for ${{ github.repository }} has finished (Completed) \n\nPipeline Status: Success \nClick here to see the full workflow details: ${{ github.event.pull_request.html_url || github.event.head_commit.url }}", | |
"attachments": [ | |
{ | |
"pretext": "Deployment for ${{ github.repository }} has finished successfully", | |
"color": "087f5b", | |
"fields": [ | |
{ | |
"title": "Status", | |
"short": true, | |
"value": "Completed" | |
} | |
] | |
} | |
] | |
} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.STORM_BOT_SLACK_TOKEN }} | |
- name: Send Discord notification - Deployment successful | |
uses: Ilshidur/action-discord@master | |
with: | |
args: "Deployment for ${{ github.repository }} finished successfully - | |
#${{ github.run_number }}" | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.STORM_BOT_DISCORD_WEBHOOK }} | |
DISCORD_USERNAME: ${{ env.STORM_BOT }} | |
DISCORD_AVATAR: "https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-stormie.png" | |
DISCORD_EMBEDS: | |
'[{"title": "Deployment #${{ github.run_number }} was successful!", | |
"description": "Deployment for ${{ github.repository }} has finished | |
successfully - #${{ github.run_number }}", "thumbnail": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
}, "image": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/logo-fill.png" | |
}, "author": { "name": "${{ github.actor }}", "url": | |
"https://github.com/${{ github.actor }}", "icon_url": | |
"https://avatars.githubusercontent.com/u/${{ github.actor_id }}?v=4" | |
}, "fields": [ { "name": "Repository", "value": "${{ | |
github.repository }}" }, { "name": "Repository URL", "value": "${{ | |
github.repositoryUrl }}" }, { "name": "Pipeline Status", "value": | |
"Success" }], "color": 556891, "timestamp": "${{ | |
github.event.repository.updated_at }}", "url": "${{ | |
github.event.pull_request.html_url || github.event.head_commit.url | |
}}", "footer": { "text": "Click here to see the full workflow | |
details: ${{ github.event.pull_request.html_url || | |
github.event.head_commit.url }}", "icon_url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
}}]' | |
- name: Send Telegram notification - Deployment successful | |
uses: storm-software/action-telegram-notify@main | |
with: | |
status: "success" | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.STORM_BOT_TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT: ${{ secrets.STORM_BOT_TELEGRAM_NOTIFICATION_CHAT }} | |
failure: | |
needs: | |
- release | |
if: ${{ failure() }} | |
name: Send failure notification | |
runs-on: ubuntu-latest | |
steps: | |
- name: Send Slack notification - Deployment failed | |
uses: slackapi/[email protected] | |
with: | |
channel-id: "notifications" | |
update-ts: ${{ steps.release.outputs.ts }} | |
payload: | | |
{ | |
"text": "Deployment for ${{ github.repository }} has finished (Failure) \n\nPipeline Status: Failure\nError: ${{ job.conclusion }}\nReason: ${{ job.cancelled }}\nConclusion: ${{ job.conclusion }}\nOutput: ${{ job.output }}\nLogs: ${{ job.logs }} \nSteps: ${{ job.steps }} \nActions: ${{ job.actions }} \nServices: ${{ job.services }} \nEnvironment: ${{ job.environment}} \nClick here to see the full workflow details: ${{ github.event.pull_request.html_url || github.event.head_commit.url }}", | |
"attachments": [ | |
{ | |
"pretext": "Deployment for ${{ github.repository }} has finished with failures", | |
"color": "990000", | |
"fields": [ | |
{ | |
"title": "Status", | |
"short": true, | |
"value": "Failure" | |
} | |
] | |
} | |
] | |
} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.STORM_BOT_SLACK_TOKEN }} | |
- name: Send Discord notification - Deployment failed | |
uses: Ilshidur/action-discord@master | |
with: | |
args: | |
"Deployment for ${{ github.repository }} finished with failures - | |
#${{ github.run_number }}" | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.STORM_BOT_DISCORD_WEBHOOK }} | |
DISCORD_USERNAME: ${{ env.STORM_BOT }} | |
DISCORD_AVATAR: "https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-stormie.png" | |
DISCORD_EMBEDS: | |
'[{"title": "Deployment #${{ github.run_number }} has failed", | |
"description": "Deployment for ${{ github.repository }} finished | |
with failures - #${{ github.run_number }}", "thumbnail": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
}, "image": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/logo-fill.png" | |
}, "author": { "name": "${{ github.actor }}", "url": | |
"https://github.com/${{ github.actor }}", "icon_url": | |
"https://avatars.githubusercontent.com/u/${{ github.actor_id }}?v=4" | |
}, "fields": [ { "name": "Repository", "value": "${{ | |
github.repository }}" }, { "name": "Repository URL", "value": "${{ | |
github.repositoryUrl }}" }, { "name": "Pipeline Status", "value": | |
"Failure" }, { "name": "Event", "value": "${{ github.event_name }}" | |
}, { "name": "Result", "value": "${{ steps.release.result }}" }, { | |
"name": "Conclusion", "value": "${{ steps.release.conclusion }}" }, | |
{ "name": "Output", "value": "${{ toJSON(steps.release.outputs) }}" | |
}], "color": 10027008, "timestamp": "${{ | |
github.event.repository.updated_at }}", "url": "${{ | |
github.event.pull_request.html_url || github.event.head_commit.url | |
}}", "footer": { "text": "Click here to see the full workflow | |
details: ${{ github.event.pull_request.html_url || | |
github.event.head_commit.url }}", "icon_url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
} }]' | |
- name: Send Telegram notification - Deployment failed | |
uses: storm-software/action-telegram-notify@main | |
with: | |
status: "failed" | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.STORM_BOT_TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT: ${{ secrets.STORM_BOT_TELEGRAM_NOTIFICATION_CHAT }} | |
cancelled: | |
needs: | |
- release | |
if: ${{ cancelled() }} | |
name: Send cancelled notification | |
runs-on: ubuntu-latest | |
steps: | |
- name: Send Slack notification - Deployment cancelled | |
uses: slackapi/[email protected] | |
with: | |
channel-id: "notifications" | |
update-ts: ${{ steps.release.outputs.ts }} | |
payload: | | |
{ | |
"text": "Deployment for ${{ github.repository }} has finished (Cancelled) \n\nPipeline Status: Cancelled\nError: ${{ job.conclusion }}\nReason: ${{ job.cancelled }}\nConclusion: ${{ job.conclusion }}\nOutput: ${{ job.output }}\nLogs: ${{ job.logs }} \nSteps: ${{ job.steps }} \nActions: ${{ job.actions }} \nServices: ${{ job.services }} \nEnvironment: ${{ job.environment}} \nClick here to see the full workflow details: ${{ github.event.pull_request.html_url || github.event.head_commit.url }}", | |
"attachments": [ | |
{ | |
"pretext": "Deployment for ${{ github.repository }} has been cancelled", | |
"color": "990000", | |
"fields": [ | |
{ | |
"title": "Status", | |
"short": true, | |
"value": "Cancelled" | |
} | |
] | |
} | |
] | |
} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.STORM_BOT_SLACK_TOKEN }} | |
- name: Send Discord notification - Deployment cancelled | |
uses: Ilshidur/action-discord@master | |
with: | |
args: | |
"Deployment for ${{ github.repository }} has been cancelled - #${{ | |
github.run_number }}" | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.STORM_BOT_DISCORD_WEBHOOK }} | |
DISCORD_USERNAME: ${{ env.STORM_BOT }} | |
DISCORD_AVATAR: "https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-stormie.png" | |
DISCORD_EMBEDS: | |
'[{"title": "Deployment #${{ github.run_number }} was cancelled", | |
"description": "Deployment for ${{ github.repository }} was | |
cancelled before it could complete normal execution - #${{ | |
github.run_number }}", "thumbnail": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
}, "image": { "url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/logo-fill.png" | |
}, "author": { "name": "${{ github.actor }}", "url": | |
"https://github.com/${{ github.actor }}", "icon_url": | |
"https://avatars.githubusercontent.com/u/${{ github.actor_id }}?v=4" | |
}, "fields": [ { "name": "Repository", "value": "${{ | |
github.repository }}" }, { "name": "Repository URL", "value": "${{ | |
github.repositoryUrl }}" }, { "name": "Pipeline Status", "value": | |
"Cancelled" }, { "name": "Event", "value": "${{ github.event_name | |
}}" }, { "name": "Result", "value": "${{ steps.release.result }}" }, | |
{ "name": "Conclusion", "value": "${{ steps.release.conclusion }}" | |
}, { "name": "Output", "value": "${{ toJSON(steps.release.outputs) | |
}}" }], "color": 16565273, "timestamp": "${{ | |
github.event.repository.updated_at }}", "url": "${{ | |
github.event.pull_request.html_url || github.event.head_commit.url | |
}}", "footer": { "text": "Click here to see the full workflow | |
details: ${{ github.event.pull_request.html_url || | |
github.event.head_commit.url }}", "icon_url": | |
"https://pub-761b436209f44a4d886487c917806c08.r2.dev/icon-fill.png" | |
} }]' | |
- name: Send Telegram notification - Deployment cancelled | |
uses: storm-software/action-telegram-notify@main | |
with: | |
status: "cancelled" | |
env: | |
TELEGRAM_TOKEN: ${{ secrets.STORM_BOT_TELEGRAM_TOKEN }} | |
TELEGRAM_CHAT: ${{ secrets.STORM_BOT_TELEGRAM_NOTIFICATION_CHAT }} |