Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7a995ff

Browse files
authored
Release draft workflow (#4006)
1 parent 4798c43 commit 7a995ff

File tree

3 files changed

+106
-1
lines changed

3 files changed

+106
-1
lines changed
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
#!/bin/bash
2+
set -e
3+
4+
sbt -Dproject.version=${RELEASE_VERSION} --batch 'buildPackages $RELEASE_NETWORKS'
5+
6+
assets=$(find . \( -path ./docker -o -path ./node/target/universal \) -prune -o \( -name '*.deb' -o -name '*all*.jar' -o -name '*.tgz' \) -print)
7+
sha256sums=$(sha256sum $assets | sed 's|\..*/||')
8+
9+
lowercase_networks=$( echo $RELEASE_NETWORKS| tr '[:upper:]' '[:lower:]')
10+
release_heading=""
11+
if [[ "$lowercase_networks" == *"mainnet"* ]]; then
12+
release_heading="Mainnet"
13+
fi
14+
15+
if [[ "$lowercase_networks" == *"testnet"* ]]; then
16+
if [[ -n $release_heading ]] ; then
17+
release_heading="$release_heading + "
18+
fi
19+
release_heading="${release_heading}Testnet"
20+
fi
21+
22+
if [[ "$lowercase_networks" == *"stagenet"* ]]; then
23+
if [[ -n $release_heading ]] ; then
24+
release_heading="$release_heading + "
25+
fi
26+
release_heading="${release_heading}Stagenet"
27+
fi
28+
29+
release_text=$(cat << EOF
30+
# In this release
31+
32+
## Update notes
33+
34+
## SHA256 Checksums
35+
\`\`\`
36+
$sha256sums
37+
\`\`\`
38+
EOF
39+
)
40+
41+
release_body=$(cat << EOF
42+
{
43+
"tag_name":"v${RELEASE_VERSION}",
44+
"target_commitish":"${RELEASE_BRANCH}",
45+
"name":"Version ${RELEASE_VERSION} ($release_heading)",
46+
"draft":true,
47+
"prerelease":false,
48+
"generate_release_notes":false
49+
}
50+
EOF
51+
)
52+
53+
release_id=$(echo $release_body |\
54+
jq --arg text "$release_text" '.body = $text' |\
55+
curl -L \
56+
-H "Accept: application/vnd.github+json" \
57+
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
58+
-H "X-GitHub-Api-Version: 2022-11-28" \
59+
https://api.github.com/repos/${GITHUB_REPO}/releases \
60+
-d @- |\
61+
jq .id)
62+
63+
for asset in $assets; do
64+
curl -L \
65+
-H "Accept: application/vnd.github+json" \
66+
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
67+
-H "X-GitHub-Api-Version: 2022-11-28" \
68+
-H "Content-Type: application/octet-stream" \
69+
"https://uploads.github.com/repos/${GITHUB_REPO}/releases/${release_id}/assets?name=$(basename -- "$asset")" \
70+
--data-binary "@${asset}"
71+
done

.github/workflows/integration-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Run Integration Tests
22
on:
3-
workflow_dispatch:
3+
pull_request:
44

55
jobs:
66
it:
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Publish release draft
2+
run-name: Publish release draft for ${{ inputs.version }} from ${{ github.ref_name }}
3+
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
networks:
8+
description: 'Networks'
9+
required: true
10+
default: 'mainnet testnet stagenet'
11+
version:
12+
description: 'Version'
13+
required: true
14+
15+
jobs:
16+
publish-release-draft:
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
attestations: write
21+
id-token: write
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: actions/setup-java@v4
25+
with:
26+
distribution: 'temurin'
27+
java-version: '11'
28+
cache: 'sbt'
29+
- uses: sbt/setup-sbt@v1
30+
- run: ./.github/workflows/create-release-draft.sh
31+
env:
32+
RELEASE_VERSION: ${{ inputs.version }}
33+
RELEASE_NETWORKS: ${{ inputs.networks }}
34+
RELEASE_BRANCH: ${{ github.ref_name }}

0 commit comments

Comments
 (0)