File tree Expand file tree Collapse file tree 6 files changed +83
-3
lines changed Expand file tree Collapse file tree 6 files changed +83
-3
lines changed Original file line number Diff line number Diff line change 43
43
repo : thinca/vim-themis
44
44
tag : true
45
45
labels : demo
46
+
47
+ include :
48
+ runs-on : ubuntu-latest
49
+ steps :
50
+ - uses : actions/checkout@v4
51
+ - uses : ./with-pr
52
+ id : depup
53
+ with :
54
+ file : testdata/testfile
55
+ version_name : TERRAFORM_VERSION
56
+ repo : hashicorp/terraform
57
+ include : ' ^\d+\.\d+\.\d+$'
58
+ labels : demo
59
+
60
+ - name : Check diff
61
+ run : git diff
Original file line number Diff line number Diff line change 76
76
77
77
- name : Check diff
78
78
run : git diff
79
+
80
+ include :
81
+ runs-on : ubuntu-latest
82
+ steps :
83
+ - uses : actions/checkout@v4
84
+ - uses : ./
85
+ id : depup
86
+ with :
87
+ file : testdata/testfile
88
+ version_name : TERRAFORM_VERSION
89
+ repo : hashicorp/terraform
90
+ include : ' ^\d+\.\d+\.\d+$'
91
+
92
+ - name : Check diff
93
+ run : git diff
94
+
95
+ exclude :
96
+ runs-on : ubuntu-latest
97
+ steps :
98
+ - uses : actions/checkout@v4
99
+ - uses : ./
100
+ id : depup
101
+ with :
102
+ file : testdata/testfile
103
+ version_name : TERRAFORM_VERSION
104
+ repo : hashicorp/terraform
105
+ exclude : ' -(alpha|beta|rc)'
106
+
107
+ - name : Check diff
108
+ run : git diff
Original file line number Diff line number Diff line change @@ -18,6 +18,12 @@ inputs:
18
18
description : ' Check tags instead of releases.'
19
19
default : ' false'
20
20
required : false
21
+ include :
22
+ description : ' Regular expression to use only matched versions.'
23
+ required : false
24
+ exclude :
25
+ description : ' Regular expression not to use matched versions.'
26
+ required : false
21
27
outputs :
22
28
current :
23
29
description : ' current version'
Original file line number Diff line number Diff line change @@ -37,6 +37,23 @@ list_versions() {
37
37
fi
38
38
}
39
39
40
+ # Filter given version list using given include/exclude regular expressions.
41
+ filter_versions () {
42
+ list=$( cat)
43
+
44
+ if [ -n " ${INPUT_INCLUDE} " ]; then
45
+ echo " include pattern: ${INPUT_INCLUDE} " >&2
46
+ list=" $( echo " ${list} " | grep -P -- " ${INPUT_INCLUDE} " ) "
47
+ fi
48
+
49
+ if [ -n " ${INPUT_EXCLUDE} " ]; then
50
+ echo " exclude pattern: ${INPUT_EXCLUDE} " >&2
51
+ list=" $( echo " ${list} " | grep -vP -- " ${INPUT_EXCLUDE} " ) "
52
+ fi
53
+
54
+ echo " ${list} "
55
+ }
56
+
40
57
set_output () {
41
58
name=$1
42
59
value=$2
@@ -50,6 +67,7 @@ set_output() {
50
67
LATEST_VERSION=" $( \
51
68
list_versions | \
52
69
grep -oP ' \d+(\.\d+)+(-[^' \' ' \"\s]*)?$' | \
70
+ filter_versions | \
53
71
sort --version-sort --reverse | \
54
72
head -n1 \
55
73
) "
Original file line number Diff line number Diff line change @@ -41,3 +41,5 @@ POETRY_VERSION="1.1.3"
41
41
ENV POETRY_VERSION='1.1.3'
42
42
43
43
THEMIS_VERSION=1.5
44
+
45
+ TERRAFORM_VERSION=1.8
Original file line number Diff line number Diff line change @@ -18,6 +18,12 @@ inputs:
18
18
description : ' Check tags instead of releases.'
19
19
default : ' false'
20
20
required : false
21
+ include :
22
+ description : ' Regular expression to use only matched versions.'
23
+ required : false
24
+ exclude :
25
+ description : ' Regular expression not to use matched versions.'
26
+ required : false
21
27
tag_prefix :
22
28
description : ' Tag prefix used for building link in PR description'
23
29
default : ' v'
@@ -28,13 +34,13 @@ inputs:
28
34
outputs :
29
35
current :
30
36
description : ' current version'
31
- value : ${{ steps.depup.outputs.current }}
37
+ value : ${{ steps.depup.outputs.current }}
32
38
latest :
33
39
description : ' latest version'
34
- value : ${{ steps.depup.outputs.latest }}
40
+ value : ${{ steps.depup.outputs.latest }}
35
41
repo :
36
42
description : ' target GitHub repository. Same as the repo from input.'
37
- value : ${{ steps.depup.outputs.repo }}
43
+ value : ${{ steps.depup.outputs.repo }}
38
44
39
45
runs :
40
46
using : ' composite'
46
52
file : ${{ inputs.file }}
47
53
version_name : ${{ inputs.version_name }}
48
54
repo : ${{ inputs.repo }}
55
+ include : ${{ inputs.include }}
56
+ exclude : ${{ inputs.exclude }}
49
57
tag : ${{ inputs.tag }}
50
58
- name : Create Pull Request
51
59
uses : peter-evans/create-pull-request@v6
You can’t perform that action at this time.
0 commit comments