chore(ci): Notify on release failures and other small CI changes [fixes FLU-222, FLU-194, FLU-41 and FLU-196] (#650)

* Notify on release failure

* Add `e2e / status`

* Update renovate config

* Add timeout

* Update
This commit is contained in:
Anatolios Laskaris 2023-01-24 15:54:42 +02:00 committed by GitHub
parent e77fc066a9
commit fd8d4defcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 99 additions and 5 deletions

17
.github/renovate.json vendored
View File

@ -6,10 +6,22 @@
],
"enabledManagers": ["sbt", "npm", "github-actions"],
"rangeStrategy": "pin",
"schedule": "every weekend",
"packageRules": [
{
"matchManagers": ["npm"],
"matchPackagePatterns": [
"@fluencelabs/.*"
],
"semanticCommitType": "fix",
"semanticCommitScope": "deps",
"schedule": "at any time"
},
{
"matchDepTypes": ["devDependencies"],
"prPriority": -1
"prPriority": -1,
"semanticCommitType": "chore",
"semanticCommitScope": "deps"
},
{
"matchUpdateTypes": ["major"],
@ -17,7 +29,8 @@
},
{
"matchManagers": ["github-actions"],
"groupName": "all github-actions"
"groupName": "all github-actions",
"prPriority": -1
}
]
}

View File

@ -57,3 +57,28 @@ jobs:
uses: fluencelabs/fluence-cli/.github/workflows/tests.yml@main
with:
aqua-version: "${{ needs.aqua.outputs.aqua-version }}"
status:
runs-on: ubuntu-latest
if: always()
needs:
- fluence-cli
- registry
- aqua-playground
steps:
- uses: lwhiteley/dependent-jobs-result-check@v1
id: status
with:
statuses: failure,cancelled,skipped
dependencies: ${{ toJSON(needs) }}
- name: Log output
run: |
echo "statuses:" "${{ steps.status.outputs.statuses }}"
echo "jobs:" "${{ steps.status.outputs.jobs }}"
echo "found any?:" "${{ steps.status.outputs.found }}"
- name: Fail run
if: fromJSON(steps.status.outputs.found)
run: exit 1

View File

@ -1,17 +1,17 @@
name: "publish-aqua"
name: "Publish aqua"
on:
workflow_dispatch:
inputs:
version:
type: string
description: 'aqua version to publish'
description: "aqua version to publish"
required: true
workflow_call:
inputs:
version:
type: string
description: 'aqua version to publish'
description: "aqua version to publish"
required: true
concurrency:
@ -23,6 +23,8 @@ env:
jobs:
compile:
runs-on: builder
timeout-minutes: 60
steps:
- name: Checkout repository
uses: actions/checkout@v3
@ -65,6 +67,7 @@ jobs:
aqua-cli:
name: "Publish aqua-cli"
runs-on: ubuntu-latest
timeout-minutes: 60
needs:
- compile
@ -122,6 +125,7 @@ jobs:
aqua-api:
name: "Publish aqua-api"
runs-on: ubuntu-latest
timeout-minutes: 60
needs:
- compile
@ -176,6 +180,7 @@ jobs:
aqua-lsp:
name: "Publish aqua-lsp"
runs-on: ubuntu-latest
timeout-minutes: 60
needs:
- compile

View File

@ -88,3 +88,50 @@ jobs:
uses: ./.github/workflows/publish.yml
with:
version: ${{ needs.release-please.outputs.version }}
slack:
if: always()
name: "Notify"
runs-on: ubuntu-latest
needs:
- release-please
- publish
permissions:
contents: read
id-token: write
steps:
- uses: lwhiteley/dependent-jobs-result-check@v1
id: status
with:
statuses: failure
dependencies: ${{ toJSON(needs) }}
- name: Log output
run: |
echo "statuses:" "${{ steps.status.outputs.statuses }}"
echo "jobs:" "${{ steps.status.outputs.jobs }}"
echo "found any?:" "${{ steps.status.outputs.found }}"
- name: Import secrets
uses: hashicorp/vault-action@v2.4.3
with:
url: https://vault.fluence.dev
path: jwt/github
role: ci
method: jwt
jwtGithubAudience: "https://github.com/fluencelabs"
jwtTtl: 300
exportToken: false
secrets: |
kv/slack/release-please webhook | SLACK_WEBHOOK_URL
- uses: ravsamhq/notify-slack-action@v2
if: steps.status.outputs.found == true
with:
status: "failure"
notification_title: "*{workflow}* has {status_message}"
message_format: "${{ steps.status.outputs.jobs }} {status_message} in <{repo_url}|{repo}>"
footer: "<{run_url}>"

View File

@ -29,6 +29,7 @@ jobs:
compile:
name: "Compile"
runs-on: builder
timeout-minutes: 60
steps:
- name: Checkout repository
@ -85,6 +86,7 @@ jobs:
aqua-cli:
name: "Publish aqua-cli"
runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile
@ -155,6 +157,7 @@ jobs:
aqua-api:
name: "Publish aqua-api"
runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile
@ -222,6 +225,7 @@ jobs:
aqua-lsp:
name: "Publish aqua-lsp"
runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile