From 8f055ef543c7433c967a1b9b04a0f230923233bb Mon Sep 17 00:00:00 2001 From: Joseph Flinn <58369717+joseph-flinn@users.noreply.github.com> Date: Thu, 2 Jun 2022 08:57:19 -0700 Subject: [PATCH] [Release Version Check] Update to support our Mobile project (#48) * update the release check version action to support our mobile project * Updating the release version tests * Adding some new test asserts. Trying to fix the bash issue * trying a different syntax for the bash array * fixing a typo * Reverting the input validation changes * Fixing file extensions for test --- .../workflows/test-release-version-check.yml | 28 +++++++++++++------ release-version-check/action.yml | 9 ++++-- .../tests/fixtures/CalVer/Mobile-Android.xml | 3 ++ 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 release-version-check/tests/fixtures/CalVer/Mobile-Android.xml diff --git a/.github/workflows/test-release-version-check.yml b/.github/workflows/test-release-version-check.yml index 772e39a7..23c78303 100644 --- a/.github/workflows/test-release-version-check.yml +++ b/.github/workflows/test-release-version-check.yml @@ -35,21 +35,31 @@ jobs: project-type: ts file: release-version-check/tests/fixtures/CalVer/package.json override-version: 2022.05.0 - - name: csharp-calver-success - project-type: csharp + - name: dotnet-calver-success + project-type: dotnet file: release-version-check/tests/fixtures/CalVer/Test.csproj override-version: 2022.06.0 - - name: csharp-calver-fail - project-type: csharp + - name: dotnet-calver-fail + project-type: dotnet file: release-version-check/tests/fixtures/CalVer/Test.csproj override-version: 2022.05.0 + - name: xamarin-calver-success + project-type: xamarin + file: release-version-check/tests/fixtures/CalVer/Mobile-Android.xml + override-version: 2022.05.1 + - name: xamarin-calver-fail + project-type: xamarin + file: release-version-check/tests/fixtures/CalVer/Mobile-Android.xml + override-version: 2022.05.0 outputs: ts-semver-success-status: ${{ steps.set-status.outputs.ts-semver-success }} ts-semver-fail-status: ${{ steps.set-status.outputs.ts-semver-fail }} ts-calver-success-status: ${{ steps.set-status.outputs.ts-calver-success }} ts-calver-fail-status: ${{ steps.set-status.outputs.ts-calver-fail }} - csharp-calver-success-status: ${{ steps.set-status.outputs.csharp-calver-success }} - csharp-calver-fail-status: ${{ steps.set-status.outputs.csharp-calver-fail }} + dotnet-calver-success-status: ${{ steps.set-status.outputs.dotnet-calver-success }} + dotnet-calver-fail-status: ${{ steps.set-status.outputs.dotnet-calver-fail }} + xamarin-calver-success-status: ${{ steps.set-status.outputs.xamarin-calver-success }} + xamarin-calver-fail-status: ${{ steps.set-status.outputs.xamarin-calver-fail }} steps: - uses: actions/checkout@v2 @@ -96,8 +106,10 @@ jobs: assert "${{ needs.test-version-check.outputs.ts-semver-fail-status }}" "fail" "Test TS SemVer Fail" assert "${{ needs.test-version-check.outputs.ts-calver-success-status }}" "success" "Test TS CalVer Success" assert "${{ needs.test-version-check.outputs.ts-calver-fail-status }}" "fail" "Test TS CalVer Fail" - assert "${{ needs.test-version-check.outputs.csharp-calver-success-status }}" "success" "Test CSharp CalVer Success" - assert "${{ needs.test-version-check.outputs.csharp-calver-fail-status }}" "fail" "Test CSharp CalVer Fail" + assert "${{ needs.test-version-check.outputs.dotnet-calver-success-status }}" "success" "Test .NET CalVer Success" + assert "${{ needs.test-version-check.outputs.dotnet-calver-fail-status }}" "fail" "Test .NET CalVer Fail" + assert "${{ needs.test-version-check.outputs.xamarin-calver-success-status }}" "success" "Test Xamarin CalVer Success" + assert "${{ needs.test-version-check.outputs.xamarin-calver-fail-status }}" "fail" "Test CalVer Fail" if [[ "${test_outputs[@]}" =~ "fail" ]]; then exit 1 diff --git a/release-version-check/action.yml b/release-version-check/action.yml index 66c7483f..8235cdaa 100644 --- a/release-version-check/action.yml +++ b/release-version-check/action.yml @@ -9,7 +9,7 @@ inputs: description: "Release options: ('Initial Release', 'Redeploy', 'Dry Run')" required: true project-type: - description: "The project's language: ('ts', 'csharp')" + description: "The project's language: ('ts', 'dotnet', 'xamarin')" required: true file: description: "The file path to the code that contains the application's version" @@ -46,7 +46,7 @@ runs: echo "::set-output name=step-failed::true" fi - project_type_valid_inputs=("ts" "csharp") + project_type_valid_inputs=("ts" "dotnet" "xamarin") if [[ ! "${project_type_valid_inputs[@]}" =~ "${{ inputs.project-type }}" ]]; then echo "[!] 'project-type' option only supports the following values: (${project_type_valid_inputs})" echo "::set-output name=step-failed::true" @@ -84,9 +84,12 @@ runs: "ts") version=$( jq -r ".version" ${{ inputs.file }} ) ;; - "csharp") + "dotnet") version=$( grep -o ".*" ${{ inputs.file }} | grep -Eo "[0-9]{4}\.[0-9]{2}\.[0-9]+" ) ;; + "xamarin") + version=$(sed -E -n '/^ + +