1212# to specify the binding pull requests. Note if any of the following values are omitted, the default values
1313# will be used (run with the master in mmtk's binding repos).
1414# Repo is in the format of user/repo. Ref could be sha or branch name.
15+ #
16+ # Note that OpenJDK 11 and OpenJDK 21 are considered two bindings, and their repo and ref names are
17+ # specified separately. It is allowed to specify one or both of OpenJDK 11 and 21.
18+ #
1519# ```
1620# binding-refs
17- # OPENJDK_BINDING_REPO=xx/xx
18- # OPENJDK_BINDING_REF=xxxxxx
21+ # OPENJDK11_BINDING_REPO=xx/xx
22+ # OPENJDK11_BINDING_REF=xxxxxx
23+ # OPENJDK21_BINDING_REPO=xx/xx
24+ # OPENJDK21_BINDING_REF=xxxxxx
1925# JIKESRVM_BINDING_REPO=xx/xx
2026# JIKESRVM_BINDING_REF=xxxxxx
2127# V8_BINDING_REPO=xx/xx
3743 type : string
3844 required : true
3945 outputs :
40- openjdk_binding_repo :
41- description : " The repository of OpenJDK binding, such as {user}/{repo}"
42- value : ${{ jobs.binding-refs.outputs.openjdk_binding_repo}}
43- openjdk_binding_repo_default :
44- description : " The default repository of OpenJDK binding, such as {user}/{repo}"
45- value : ${{ jobs.binding-refs.outputs.openjdk_binding_repo_default }}
46- openjdk_binding_ref :
47- description : " The git ref of OpenJDK binding, such as sha and branch name"
48- value : ${{ jobs.binding-refs.outputs.openjdk_binding_ref}}
49- openjdk_binding_ref_default :
50- description : " The default git ref of OpenJDK binding, such as sha and branch name"
51- value : ${{ jobs.binding-refs.outputs.openjdk_binding_ref_default }}
46+ openjdk11_binding_repo :
47+ description : " The repository of OpenJDK 11 binding, such as {user}/{repo}"
48+ value : ${{ jobs.binding-refs.outputs.openjdk11_binding_repo}}
49+ openjdk11_binding_repo_default :
50+ description : " The default repository of OpenJDK 11 binding, such as {user}/{repo}"
51+ value : ${{ jobs.binding-refs.outputs.openjdk11_binding_repo_default }}
52+ openjdk11_binding_ref :
53+ description : " The git ref of OpenJDK 11 binding, such as sha and branch name"
54+ value : ${{ jobs.binding-refs.outputs.openjdk11_binding_ref}}
55+ openjdk11_binding_ref_default :
56+ description : " The default git ref of OpenJDK 11 binding, such as sha and branch name"
57+ value : ${{ jobs.binding-refs.outputs.openjdk11_binding_ref_default }}
58+
59+ openjdk21_binding_repo :
60+ description : " The repository of OpenJDK 21 binding, such as {user}/{repo}"
61+ value : ${{ jobs.binding-refs.outputs.openjdk21_binding_repo}}
62+ openjdk21_binding_repo_default :
63+ description : " The default repository of OpenJDK 21 binding, such as {user}/{repo}"
64+ value : ${{ jobs.binding-refs.outputs.openjdk21_binding_repo_default }}
65+ openjdk21_binding_ref :
66+ description : " The git ref of OpenJDK 21 binding, such as sha and branch name"
67+ value : ${{ jobs.binding-refs.outputs.openjdk21_binding_ref}}
68+ openjdk21_binding_ref_default :
69+ description : " The default git ref of OpenJDK 21 binding, such as sha and branch name"
70+ value : ${{ jobs.binding-refs.outputs.openjdk21_binding_ref_default }}
5271
5372 jikesrvm_binding_repo :
5473 description : " The repository of JikesRVM binding, such as {user}/{repo}"
@@ -121,8 +140,10 @@ jobs:
121140 binding-refs :
122141 runs-on : ubuntu-latest
123142 env :
124- OPENJDK_BINDING_REPO_DEFAULT : mmtk/mmtk-openjdk
125- OPENJDK_BINDING_REF_DEFAULT : master
143+ OPENJDK11_BINDING_REPO_DEFAULT : mmtk/mmtk-openjdk
144+ OPENJDK11_BINDING_REF_DEFAULT : jdk-11
145+ OPENJDK21_BINDING_REPO_DEFAULT : mmtk/mmtk-openjdk
146+ OPENJDK21_BINDING_REF_DEFAULT : jdk-21
126147 JIKESRVM_BINDING_REPO_DEFAULT : mmtk/mmtk-jikesrvm
127148 JIKESRVM_BINDING_REF_DEFAULT : master
128149 V8_BINDING_REPO_DEFAULT : mmtk/mmtk-v8
@@ -134,10 +155,14 @@ jobs:
134155 RUBY_BINDING_REPO_DEFAULT : mmtk/mmtk-ruby
135156 RUBY_BINDING_REF_DEFAULT : master
136157 outputs :
137- openjdk_binding_repo : ${{ steps.print.outputs.openjdk_binding_repo }}
138- openjdk_binding_repo_default : ${{ env.OPENJDK_BINDING_REPO_DEFAULT }}
139- openjdk_binding_ref : ${{ steps.print.outputs.openjdk_binding_ref }}
140- openjdk_binding_ref_default : ${{ env.OPENJDK_BINDING_REF_DEFAULT }}
158+ openjdk11_binding_repo : ${{ steps.print.outputs.openjdk11_binding_repo }}
159+ openjdk11_binding_repo_default : ${{ env.OPENJDK11_BINDING_REPO_DEFAULT }}
160+ openjdk11_binding_ref : ${{ steps.print.outputs.openjdk11_binding_ref }}
161+ openjdk11_binding_ref_default : ${{ env.OPENJDK11_BINDING_REF_DEFAULT }}
162+ openjdk21_binding_repo : ${{ steps.print.outputs.openjdk21_binding_repo }}
163+ openjdk21_binding_repo_default : ${{ env.OPENJDK21_BINDING_REPO_DEFAULT }}
164+ openjdk21_binding_ref : ${{ steps.print.outputs.openjdk21_binding_ref }}
165+ openjdk21_binding_ref_default : ${{ env.OPENJDK21_BINDING_REF_DEFAULT }}
141166 jikesrvm_binding_repo : ${{ steps.print.outputs.jikesrvm_binding_repo }}
142167 jikesrvm_binding_repo_default : ${{ env.JIKESRVM_BINDING_REPO_DEFAULT }}
143168 jikesrvm_binding_ref : ${{ steps.print.outputs.jikesrvm_binding_ref }}
@@ -164,11 +189,33 @@ jobs:
164189 with :
165190 pull_request : ${{ inputs.pull_request }}
166191 token : ${{ secrets.GITHUB_TOKEN }}
167- default_env : ' OPENJDK_BINDING_REPO=${{ env.OPENJDK_BINDING_REPO_DEFAULT }},OPENJDK_BINDING_REF=${{ env.OPENJDK_BINDING_REF_DEFAULT }},JIKESRVM_BINDING_REPO=${{ env.JIKESRVM_BINDING_REPO_DEFAULT }},JIKESRVM_BINDING_REF=${{ env.JIKESRVM_BINDING_REF_DEFAULT }},V8_BINDING_REPO=${{ env.V8_BINDING_REPO_DEFAULT }},V8_BINDING_REF=${{ env.V8_BINDING_REF_DEFAULT }},JULIA_BINDING_REPO=${{ env.JULIA_BINDING_REPO_DEFAULT }},JULIA_BINDING_REF=${{ env.JULIA_BINDING_REF_DEFAULT }},JULIA_VM_REPO=${{ env.JULIA_VM_REPO_DEFAULT }},JULIA_VM_REF=${{ env.JULIA_VM_REF_DEFAULT }},RUBY_BINDING_REPO=${{ env.RUBY_BINDING_REPO_DEFAULT }},RUBY_BINDING_REF=${{ env.RUBY_BINDING_REF_DEFAULT }}'
192+ # Note: In the following lines, YAML makes one multi-line string literal from the
193+ # indented lines after the '|' character, and then GitHub Actions replaces '${{ ... }}'
194+ # with the expression values, and finally comment-env-vars parses the value of
195+ # `default_env` (a multi-line string). comment-env-vars splits the string by /[\n\r,]/,
196+ # and keeps only elements that contain non-blank sub-strings separated by '='. Both the
197+ # LHS and RHS of '=' are trimmed.
198+ default_env : |
199+ OPENJDK11_BINDING_REPO=${{ env.OPENJDK11_BINDING_REPO_DEFAULT }}
200+ OPENJDK11_BINDING_REF=${{ env.OPENJDK11_BINDING_REF_DEFAULT }}
201+ OPENJDK21_BINDING_REPO=${{ env.OPENJDK21_BINDING_REPO_DEFAULT }}
202+ OPENJDK21_BINDING_REF=${{ env.OPENJDK21_BINDING_REF_DEFAULT }}
203+ JIKESRVM_BINDING_REPO=${{ env.JIKESRVM_BINDING_REPO_DEFAULT }}
204+ JIKESRVM_BINDING_REF=${{ env.JIKESRVM_BINDING_REF_DEFAULT }}
205+ V8_BINDING_REPO=${{ env.V8_BINDING_REPO_DEFAULT }}
206+ V8_BINDING_REF=${{ env.V8_BINDING_REF_DEFAULT }}
207+ JULIA_BINDING_REPO=${{ env.JULIA_BINDING_REPO_DEFAULT }}
208+ JULIA_BINDING_REF=${{ env.JULIA_BINDING_REF_DEFAULT }}
209+ JULIA_VM_REPO=${{ env.JULIA_VM_REPO_DEFAULT }}
210+ JULIA_VM_REF=${{ env.JULIA_VM_REF_DEFAULT }}
211+ RUBY_BINDING_REPO=${{ env.RUBY_BINDING_REPO_DEFAULT }}
212+ RUBY_BINDING_REF=${{ env.RUBY_BINDING_REF_DEFAULT }}
168213 - id : print
169214 run : |
170- echo "openjdk_binding_repo=${{ env.OPENJDK_BINDING_REPO }}" >> $GITHUB_OUTPUT
171- echo "openjdk_binding_ref=${{ env.OPENJDK_BINDING_REF }}" >> $GITHUB_OUTPUT
215+ echo "openjdk11_binding_repo=${{ env.OPENJDK11_BINDING_REPO }}" >> $GITHUB_OUTPUT
216+ echo "openjdk11_binding_ref=${{ env.OPENJDK11_BINDING_REF }}" >> $GITHUB_OUTPUT
217+ echo "openjdk21_binding_repo=${{ env.OPENJDK21_BINDING_REPO }}" >> $GITHUB_OUTPUT
218+ echo "openjdk21_binding_ref=${{ env.OPENJDK21_BINDING_REF }}" >> $GITHUB_OUTPUT
172219 echo "jikesrvm_binding_repo=${{ env.JIKESRVM_BINDING_REPO }}" >> $GITHUB_OUTPUT
173220 echo "jikesrvm_binding_ref=${{ env.JIKESRVM_BINDING_REF }}" >> $GITHUB_OUTPUT
174221 echo "v8_binding_repo=${{ env.V8_BINDING_REPO }}" >> $GITHUB_OUTPUT
0 commit comments