From bfaa9a69190cad32815ea06c2bc42e30c6247fa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 18:09:43 +0000 Subject: [PATCH 01/19] CI: Create a workflow to assign milestones --- .github/workflows/milestones.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/milestones.yml diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml new file mode 100644 index 00000000000..22f71ca8e7a --- /dev/null +++ b/.github/workflows/milestones.yml @@ -0,0 +1,14 @@ +--- +name: Assign Milestone + +on: + pull_request: +# pull_request_target: +# types: [closed] + +jobs: + assign-milestone: + runs-on: ubuntu-latest + if: github.event.pull_request.merged || true + steps: + - run: gh pr view --json milestone From 413e50b1710b746e2ebd4d0b037b57cf59b1f569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 18:11:02 +0000 Subject: [PATCH 02/19] Add GH_TOKEN for gh cli --- .github/workflows/milestones.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 22f71ca8e7a..835bffb67d5 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -12,3 +12,5 @@ jobs: if: github.event.pull_request.merged || true steps: - run: gh pr view --json milestone + env: + GH_TOKEN: ${{ github.token }} From 04a2721cd0ae86c43738fd0a75425c49344b9eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 18:26:43 +0000 Subject: [PATCH 03/19] CI: Add GH_REPO for gh cli --- .github/workflows/milestones.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 835bffb67d5..f4391821402 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -13,4 +13,5 @@ jobs: steps: - run: gh pr view --json milestone env: - GH_TOKEN: ${{ github.token }} + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} From bf8100853cbaf84b90d21680881fe496c3aacd58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 18:36:37 +0000 Subject: [PATCH 04/19] CI: View PR from gh cli using html_url --- .github/workflows/milestones.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index f4391821402..f372a781697 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest if: github.event.pull_request.merged || true steps: - - run: gh pr view --json milestone + - run: gh pr view ${{ github.event.pull_request.html_url }} --json milestone env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} From 95ce1bd212b9d816164dc5dd59ebc3b38e1638f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 19:49:29 +0000 Subject: [PATCH 05/19] CI: Download and parse version file --- .github/workflows/milestones.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index f372a781697..83335cb0eac 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -15,3 +15,20 @@ jobs: env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} + - name: Get VERSION file + run: | + gh api \ + -H "Accept: application/vnd.github.raw" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/repos/{owner}/{repo}/contents/include/VERSION" >> include/VERSION + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} + - name: Get milestone title from VERSION file + id: version + run: | + version=$(head -n 3 include/VERSION | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') + echo "version=$version" >> "${GITHUB_OUTPUT}" + - run: echo $VERSION + env: + VERSION: ${{ steps.version.outputs.version }} From e840bc3e9e454d94f1d7136ff8a8d3574f650b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 20:55:34 +0000 Subject: [PATCH 06/19] CI: Show version file --- .github/workflows/milestones.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 83335cb0eac..7e065a7eb4b 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -15,6 +15,15 @@ jobs: env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} + - name: Show VERSION file + run: | + gh api \ + -H "Accept: application/vnd.github.raw" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/repos/{owner}/{repo}/contents/include/VERSION" + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} - name: Get VERSION file run: | gh api \ From 56e82635bf26da2f5b083798894b2c61143d00e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 20:56:56 +0000 Subject: [PATCH 07/19] CI: Download and parse version file using a pipe --- .github/workflows/milestones.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 7e065a7eb4b..fab4d97f5aa 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -25,11 +25,13 @@ jobs: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} - name: Get VERSION file + id: version-file run: | gh api \ -H "Accept: application/vnd.github.raw" \ -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/{owner}/{repo}/contents/include/VERSION" >> include/VERSION + "/repos/{owner}/{repo}/contents/include/VERSION" | \ + head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g' env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} From 15a12a8b4f8e89fe089d7ed921bddbf3dae02c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 29 Sep 2024 12:40:46 +0000 Subject: [PATCH 08/19] Show version file output Clean up --- .github/workflows/milestones.yml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index fab4d97f5aa..a64d5c6d087 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -15,31 +15,30 @@ jobs: env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} - - name: Show VERSION file - run: | - gh api \ - -H "Accept: application/vnd.github.raw" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/{owner}/{repo}/contents/include/VERSION" - env: - GH_TOKEN: ${{ github.token }} - GH_REPO: ${{ github.repository }} - name: Get VERSION file id: version-file run: | + echo 'version<> "${GITHUB_OUTPUT}" gh api \ -H "Accept: application/vnd.github.raw" \ -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/{owner}/{repo}/contents/include/VERSION" | \ - head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g' + "/repos/{owner}/{repo}/contents/include/VERSION" >> "${GITHUB_OUTPUT}" + echo 'EOF' >> "${GITHUB_OUTPUT}" env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} + - name: Show version file + run: echo "${VERSIONFILE}" + env: + VERSIONFILE: ${{ steps.version-file.outputs.version }} - name: Get milestone title from VERSION file id: version run: | - version=$(head -n 3 include/VERSION | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') + version=$(head -n 3 $VERSIONFILE | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') echo "version=$version" >> "${GITHUB_OUTPUT}" - - run: echo $VERSION + env: + VERSIONFILE: ${{ steps.version-file.outputs.version }} + - name: Show milestone title + run: echo "${VERSION}" env: VERSION: ${{ steps.version.outputs.version }} From f61fba72370ca603a60e004f3d7b4b60088cae57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 21:12:43 +0000 Subject: [PATCH 09/19] Pipe version file env to head --- .github/workflows/milestones.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index a64d5c6d087..bedc7c0c696 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -34,7 +34,7 @@ jobs: - name: Get milestone title from VERSION file id: version run: | - version=$(head -n 3 $VERSIONFILE | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') + version=$(echo "$VERSIONFILE" | head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') echo "version=$version" >> "${GITHUB_OUTPUT}" env: VERSIONFILE: ${{ steps.version-file.outputs.version }} From e0fe88a6dc43f1f7dbe9003d5073f2ca1dd0f13a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 21:26:29 +0000 Subject: [PATCH 10/19] Rename variables to milestone and title --- .github/workflows/milestones.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index bedc7c0c696..9e857fce0d6 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -32,13 +32,13 @@ jobs: env: VERSIONFILE: ${{ steps.version-file.outputs.version }} - name: Get milestone title from VERSION file - id: version + id: milestone run: | version=$(echo "$VERSIONFILE" | head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') - echo "version=$version" >> "${GITHUB_OUTPUT}" + echo "title=$version" >> "${GITHUB_OUTPUT}" env: VERSIONFILE: ${{ steps.version-file.outputs.version }} - name: Show milestone title - run: echo "${VERSION}" + run: echo "${MILESTONE}" env: - VERSION: ${{ steps.version.outputs.version }} + MILESTONE: ${{ steps.milestone.outputs.title }} From 809fc6aa9feeff2429d9869697753ba977b7ff76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 21:26:45 +0000 Subject: [PATCH 11/19] Edit PR with milestone --- .github/workflows/milestones.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 9e857fce0d6..259e4141730 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -42,3 +42,8 @@ jobs: run: echo "${MILESTONE}" env: MILESTONE: ${{ steps.milestone.outputs.title }} + - run: gh pr edit ${{ github.event.pull_request.html_url }} --milestone "${MILESTONE}" + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} + MILESTONE: ${{ steps.milestone.outputs.title }} From 8e55751012df569528f4cdaae28d6ad479eeb05a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 21:52:12 +0000 Subject: [PATCH 12/19] Get milestone from gh cli --- .github/workflows/milestones.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 259e4141730..b32d0208b72 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -11,19 +11,29 @@ jobs: runs-on: ubuntu-latest if: github.event.pull_request.merged || true steps: - - run: gh pr view ${{ github.event.pull_request.html_url }} --json milestone + - name: Get current milestone title + id: current-milestone + run: | + echo "milestone<> "${GITHUB_OUTPUT}" + gh pr view ${{ github.event.pull_request.html_url }} --json milestone \ + --jq .milestone.title >> "${GITHUB_OUTPUT}" + echo 'EOF' >> "${GITHUB_OUTPUT}" env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} + - run: echo "Has milestone gh cli" + if: ${{ steps.current-milestone.outputs.milestone }} + - run: echo "Does not have a milestone gh cli" + if: ${{ !steps.current-milestone.outputs.milestone}} - name: Get VERSION file id: version-file run: | - echo 'version<> "${GITHUB_OUTPUT}" + echo "version<> "${GITHUB_OUTPUT}" gh api \ -H "Accept: application/vnd.github.raw" \ -H "X-GitHub-Api-Version: 2022-11-28" \ "/repos/{owner}/{repo}/contents/include/VERSION" >> "${GITHUB_OUTPUT}" - echo 'EOF' >> "${GITHUB_OUTPUT}" + echo "EOF" >> "${GITHUB_OUTPUT}" env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} From 358cadd0028fa3d27a6e1d8d9fa7dd267ce454b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 22:01:03 +0000 Subject: [PATCH 13/19] Add comment on why API call is used for getting milestone --- .github/workflows/milestones.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index b32d0208b72..e59b9250db1 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -11,6 +11,10 @@ jobs: runs-on: ubuntu-latest if: github.event.pull_request.merged || true steps: + # Retreiving the current milestoone from API instead of github context, + # so up-to-date information is used when running after being queued or for reruns + # Otherwise, the information should be available using + # ${{ github.event.pull_request.milestone.title }} - name: Get current milestone title id: current-milestone run: | From b0acc14ce65ed42f78ba6b3e12f857f049b86b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 22:01:50 +0000 Subject: [PATCH 14/19] Show if the PR has a milestone set or not --- .github/workflows/milestones.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index e59b9250db1..cc4df147cd6 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -25,10 +25,12 @@ jobs: env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} - - run: echo "Has milestone gh cli" + - name: PR already has a milestone + run: echo "PR already has a milestone" if: ${{ steps.current-milestone.outputs.milestone }} - - run: echo "Does not have a milestone gh cli" - if: ${{ !steps.current-milestone.outputs.milestone}} + - name: PR does not have a milestone + run: echo "PR does not have a milestone" + if: ${{ !steps.current-milestone.outputs.milestone }} - name: Get VERSION file id: version-file run: | From d379349eba541b65ea0514a531405e01fcf2d581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 22:03:57 +0000 Subject: [PATCH 15/19] Do not run steps if a milestone is already set --- .github/workflows/milestones.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index cc4df147cd6..94ef95c4a3f 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -32,6 +32,7 @@ jobs: run: echo "PR does not have a milestone" if: ${{ !steps.current-milestone.outputs.milestone }} - name: Get VERSION file + if: ${{ !steps.current-milestone.outputs.milestone }} id: version-file run: | echo "version<> "${GITHUB_OUTPUT}" @@ -44,10 +45,12 @@ jobs: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} - name: Show version file + if: ${{ !steps.current-milestone.outputs.milestone }} run: echo "${VERSIONFILE}" env: VERSIONFILE: ${{ steps.version-file.outputs.version }} - name: Get milestone title from VERSION file + if: ${{ !steps.current-milestone.outputs.milestone }} id: milestone run: | version=$(echo "$VERSIONFILE" | head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') @@ -55,10 +58,13 @@ jobs: env: VERSIONFILE: ${{ steps.version-file.outputs.version }} - name: Show milestone title + if: ${{ !steps.current-milestone.outputs.milestone }} run: echo "${MILESTONE}" env: MILESTONE: ${{ steps.milestone.outputs.title }} - - run: gh pr edit ${{ github.event.pull_request.html_url }} --milestone "${MILESTONE}" + - name: Set PR milestone + if: ${{ !steps.current-milestone.outputs.milestone }} + run: gh pr edit ${{ github.event.pull_request.html_url }} --milestone "${MILESTONE}" env: GH_TOKEN: ${{ github.token }} GH_REPO: ${{ github.repository }} From 19160300b5322283118841ffa06c32a7ca24ba55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 28 Sep 2024 22:08:17 +0000 Subject: [PATCH 16/19] Add pull_request_target closed trigger --- .github/workflows/milestones.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 94ef95c4a3f..10377388312 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -3,8 +3,8 @@ name: Assign Milestone on: pull_request: -# pull_request_target: -# types: [closed] + pull_request_target: + types: [closed] jobs: assign-milestone: From 11127acaa11b24afc41b63f1aa5cc83bb4cfcc80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 29 Sep 2024 11:41:18 +0000 Subject: [PATCH 17/19] Add ref as url parameter --- .github/workflows/milestones.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index 10377388312..f03ba079792 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -39,7 +39,7 @@ jobs: gh api \ -H "Accept: application/vnd.github.raw" \ -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/{owner}/{repo}/contents/include/VERSION" >> "${GITHUB_OUTPUT}" + "/repos/{owner}/{repo}/contents/include/VERSION?ref=${{ github.sha }}" >> "${GITHUB_OUTPUT}" echo "EOF" >> "${GITHUB_OUTPUT}" env: GH_TOKEN: ${{ github.token }} From 17d48a49a8bb0746536301d733d8acff95657935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 29 Sep 2024 11:58:41 +0000 Subject: [PATCH 18/19] Remove debugging steps --- .github/workflows/milestones.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index f03ba079792..ac3d5415c66 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -2,14 +2,13 @@ name: Assign Milestone on: - pull_request: pull_request_target: types: [closed] jobs: assign-milestone: runs-on: ubuntu-latest - if: github.event.pull_request.merged || true + if: github.event.pull_request.merged steps: # Retreiving the current milestoone from API instead of github context, # so up-to-date information is used when running after being queued or for reruns From 809eb3e01d744931c306ed9484d73cb512cd2463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sun, 29 Sep 2024 13:24:25 +0000 Subject: [PATCH 19/19] CI: Handle RC followed by numbers in sed pattern replacement --- .github/workflows/milestones.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/milestones.yml b/.github/workflows/milestones.yml index ac3d5415c66..e2ade4eb091 100644 --- a/.github/workflows/milestones.yml +++ b/.github/workflows/milestones.yml @@ -52,7 +52,7 @@ jobs: if: ${{ !steps.current-milestone.outputs.milestone }} id: milestone run: | - version=$(echo "$VERSIONFILE" | head -n 3 | xargs | sed 's/ /./g' | sed 's/\(RC\|dev\)//g') + version=$(echo "$VERSIONFILE" | head -n 3 | xargs | sed 's/ /./g; s/\(RC[0-9]*\|dev\)//g') echo "title=$version" >> "${GITHUB_OUTPUT}" env: VERSIONFILE: ${{ steps.version-file.outputs.version }}