Skip to content

Commit 7bf968b

Browse files
slapec93Gergely Békésigithub-actions[bot]
authored
ci: dispatch event to create-swarm-app when released (#1157)
* ci: dispatch event to create-swarm-app when released * fix: update ci deposit commands * test: update test coverage * fix: update rc workflow as well * ci: update coverage comparision logic * fix: address review suggestions * fix: pass release_url in dispatch * fix: address review comments * fix: use right env var --------- Co-authored-by: Gergely Békési <gergely.bekesi@ethswarm.org> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent afdee48 commit 7bf968b

2 files changed

Lines changed: 70 additions & 4 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Dispatch release to create-swarm-app
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
dispatch:
9+
if: >
10+
github.event.release.prerelease == false &&
11+
github.event.release.draft == false &&
12+
!contains(github.event.release.tag_name, '-')
13+
runs-on: ubuntu-latest
14+
permissions: {}
15+
16+
steps:
17+
- name: Generate GitHub App token
18+
id: app-token
19+
uses: actions/create-github-app-token@v1
20+
with:
21+
app-id: ${{ secrets.BEE_RUNNER_APP_ID }}
22+
private-key: ${{ secrets.BEE_RUNNER_KEY }}
23+
repositories: create-swarm-app
24+
25+
- name: Dispatch release event to create-swarm-app
26+
uses: actions/github-script@v7
27+
with:
28+
github-token: ${{ steps.app-token.outputs.token }}
29+
script: |
30+
await github.rest.repos.createDispatchEvent({
31+
owner: 'ethersphere',
32+
repo: 'create-swarm-app',
33+
event_type: 'bee-js-released',
34+
client_payload: {
35+
version: context.payload.release.tag_name.replace(/^v/, ''),
36+
release_url: context.payload.release.html_url
37+
}
38+
})

.github/workflows/tests.yaml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,39 @@ jobs:
5151
echo "exit_code=$?" >> $GITHUB_OUTPUT
5252
set -e
5353
54-
- name: Compare coverage
54+
- name: Upload coverage
55+
if: github.ref == 'refs/heads/master'
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: coverage-master
59+
path: test/coverage/coverage-summary.json
60+
61+
- name: Get master run ID
5562
if: github.ref != 'refs/heads/master'
56-
run:
57-
npxie coverage-comparison "${{ github.repository }}" "master" "${{ github.head_ref }}"
58-
"test/coverage/coverage-summary.json" "${{ github.event.pull_request.number }}" "${{ secrets.GITHUB_TOKEN }}"
63+
id: get-run-id
64+
continue-on-error: true
65+
env:
66+
GH_TOKEN: ${{ github.token }}
67+
run: |
68+
RUN_ID=$(gh run list --branch master --workflow tests.yaml --status success --limit 1 --json databaseId --jq '.[0].databaseId')
69+
if [ -z "$RUN_ID" ]; then exit 0; fi
70+
echo "run-id=$RUN_ID" >> $GITHUB_OUTPUT
71+
72+
- name: Download master coverage
73+
if: github.ref != 'refs/heads/master'
74+
id: download-coverage
75+
continue-on-error: true
76+
uses: actions/download-artifact@v4
77+
with:
78+
name: coverage-master
79+
github-token: ${{ secrets.GITHUB_TOKEN }}
80+
run-id: ${{ steps.get-run-id.outputs.run-id }}
81+
path: coverage-master
82+
83+
- name: Compare coverage
84+
if: github.ref != 'refs/heads/master' && steps.download-coverage.outcome == 'success'
85+
run: |
86+
npxie coverage-comparison "${{ github.repository }}" "./coverage-master/coverage-summary.json" "test/coverage/coverage-summary.json" "${{ github.event.pull_request.number }}" "${{ secrets.GITHUB_TOKEN }}"
5987
6088
- name: Fail if tests failed
6189
if: steps.tests.outputs.exit_code != '0'

0 commit comments

Comments
 (0)