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"], "enabledManagers": ["sbt", "npm", "github-actions"],
"rangeStrategy": "pin", "rangeStrategy": "pin",
"schedule": "every weekend",
"packageRules": [ "packageRules": [
{
"matchManagers": ["npm"],
"matchPackagePatterns": [
"@fluencelabs/.*"
],
"semanticCommitType": "fix",
"semanticCommitScope": "deps",
"schedule": "at any time"
},
{ {
"matchDepTypes": ["devDependencies"], "matchDepTypes": ["devDependencies"],
"prPriority": -1 "prPriority": -1,
"semanticCommitType": "chore",
"semanticCommitScope": "deps"
}, },
{ {
"matchUpdateTypes": ["major"], "matchUpdateTypes": ["major"],
@ -17,7 +29,8 @@
}, },
{ {
"matchManagers": ["github-actions"], "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 uses: fluencelabs/fluence-cli/.github/workflows/tests.yml@main
with: with:
aqua-version: "${{ needs.aqua.outputs.aqua-version }}" 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: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version: version:
type: string type: string
description: 'aqua version to publish' description: "aqua version to publish"
required: true required: true
workflow_call: workflow_call:
inputs: inputs:
version: version:
type: string type: string
description: 'aqua version to publish' description: "aqua version to publish"
required: true required: true
concurrency: concurrency:
@ -23,6 +23,8 @@ env:
jobs: jobs:
compile: compile:
runs-on: builder runs-on: builder
timeout-minutes: 60
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v3
@ -65,6 +67,7 @@ jobs:
aqua-cli: aqua-cli:
name: "Publish aqua-cli" name: "Publish aqua-cli"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: needs:
- compile - compile
@ -122,6 +125,7 @@ jobs:
aqua-api: aqua-api:
name: "Publish aqua-api" name: "Publish aqua-api"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: needs:
- compile - compile
@ -176,6 +180,7 @@ jobs:
aqua-lsp: aqua-lsp:
name: "Publish aqua-lsp" name: "Publish aqua-lsp"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: needs:
- compile - compile

View File

@ -88,3 +88,50 @@ jobs:
uses: ./.github/workflows/publish.yml uses: ./.github/workflows/publish.yml
with: with:
version: ${{ needs.release-please.outputs.version }} 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: compile:
name: "Compile" name: "Compile"
runs-on: builder runs-on: builder
timeout-minutes: 60
steps: steps:
- name: Checkout repository - name: Checkout repository
@ -85,6 +86,7 @@ jobs:
aqua-cli: aqua-cli:
name: "Publish aqua-cli" name: "Publish aqua-cli"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile needs: compile
@ -155,6 +157,7 @@ jobs:
aqua-api: aqua-api:
name: "Publish aqua-api" name: "Publish aqua-api"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile needs: compile
@ -222,6 +225,7 @@ jobs:
aqua-lsp: aqua-lsp:
name: "Publish aqua-lsp" name: "Publish aqua-lsp"
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60
needs: compile needs: compile