1
+ name : Bump Rust 🦀 crate versions
2
+
3
+ on :
4
+ push :
5
+ tags :
6
+ - ' v[0-9]+.[0-9]+'
7
+ - ' v[0-9]+.[0-9]+.[0-9]+'
8
+ - ' v[0-9]+.[0-9]+[0-9a-z]+'
9
+ workflow_dispatch :
10
+ inputs :
11
+ dist-location :
12
+ description : ' Distribution location'
13
+ type : choice
14
+ options :
15
+ - rc
16
+ - major
17
+ - minor
18
+ default : ' rc'
19
+ required : false
20
+
21
+ jobs :
22
+ bump :
23
+ runs-on : ubuntu-latest
24
+ timeout-minutes : 120
25
+ steps :
26
+ - name : Checkout repository
27
+ uses : actions/checkout@v4
28
+ with :
29
+ # Need to fetch entire history in order to locate the version tag
30
+ fetch-depth : 0
31
+
32
+ - name : Check version tag
33
+ run : >-
34
+ git describe --tags --always --dirty=-modded --abbrev=7
35
+
36
+ - name : Set up values
37
+ id : set-values
38
+ run : |
39
+ if [[ "${{ github.event.inputs.dist-location }}" != "" ]]; then
40
+ DISTLOCATION=${{ github.event.inputs.dist-location }}
41
+ elif [[ "${{ github.ref_type }}" == "tag" ]]; then
42
+ if [[ "${{ github.ref_name }}" =~ ^v[0-9]+\.[0-9]+$ ]]; then
43
+ DISTLOCATION="major"
44
+ elif [[ "${{ github.ref_name }}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
45
+ DISTLOCATION="minor"
46
+ elif [[ "${{ github.ref_name }}" =~ ^v[0-9]+\.[0-9]+[0-9a-z]+$ ]]; then
47
+ DISTLOCATION="rc"
48
+ else
49
+ echo "Tag format not recognized"
50
+ exit 1
51
+ fi
52
+ else
53
+ echo "Neither tag nor workflow dispatch"
54
+ exit 1
55
+ fi
56
+ echo "DISTLOCATION=$DISTLOCATION" >> $GITHUB_OUTPUT
57
+ echo "EVENT DISTLOCATION: ${{ github.event.inputs.dist-location }}"
58
+ echo "DISTRIBUTION LOCATION: $DISTLOCATION"
59
+
60
+ - name : Setup rust
61
+
62
+
63
+ - name : Install cargo release
64
+ run : |
65
+ cargo install --locked cargo-release --version 0.25.10
66
+
67
+ - name : Bump rc version
68
+ if : github.repository == 'daywalker90/lightning' && steps.set-values.outputs.DISTLOCATION == 'rc'
69
+ run : |
70
+ cargo release version -p cln-rpc -p cln-grpc -p cln-plugin rc --execute --no-confirm
71
+
72
+ - name : Bump minor release version
73
+ if : github.repository == 'daywalker90/lightning' && steps.set-values.outputs.DISTLOCATION == 'major'
74
+ run : |
75
+ cargo release version -p cln-rpc -p cln-grpc -p cln-plugin minor --execute --no-confirm
76
+
77
+ - name : Bump patch release version
78
+ if : github.repository == 'daywalker90/lightning' && steps.set-values.outputs.DISTLOCATION == 'minor'
79
+ run : |
80
+ cargo release version -p cln-rpc -p cln-grpc -p cln-plugin patch --execute --no-confirm
81
+
82
+ - name : Create Pull Request
83
+ if : github.repository == 'ElementsProject/lightning'
84
+ uses : peter-evans/create-pull-request@v7
85
+ with :
86
+ token : ${{ secrets.GITHUB_TOKEN }}
87
+ commit-message : " crates: Bump crate versions for ${{ github.ref_name }}"
88
+ title : " Bump crate versions for ${{ github.ref_name }}"
89
+ body : |
90
+ This PR bumps the crate versions for:
91
+ - cln-rpc
92
+ - cln-grpc
93
+ - cln-plugin
94
+
95
+ Triggered by tag: ${{ github.ref_name }}
96
+ Distribution location: ${{ steps.set-values.outputs.DISTLOCATION }}
97
+ branch : " bump-crate-versions-${{ github.ref_name }}"
98
+ base : master
99
+ labels : version-bump, automated
100
+ delete-branch : true
0 commit comments