Uploaded image for project: 'release-testing'
  1. release-testing
  2. REL-37

Check how App Store handles weird Bundle-Version strings for Apps

    Details

    • Type: Task
    • Status: Testing To-Do (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Labels:
      None

      Description

      IGB App's must have Bundle-Version string that conforms to the following pattern:

      MAJOR.MINOR.MICRO

      where major is either 0 or a positive integer containing digits through 9, but not starting with 0.

      Legal values include (for example):

      • 100.1.0
      • 0.1.10
      • 0.0.1
      • 0.0.0
      • 10.1.900

      Illegal values include (for example):

      • 001.0.0
      • 1.1.1-SNAPSHOT
      • 1.1.1.SNAPSHOT
      • 1.1.1.1

      For this task, create and test bundles that use the above examples as Bundle-Version strings. Try uploading these to an App Store instance and make note of the behavior.

      Background: When an user uploads an App, App Store extracts the MANIFEST.MF file from the App and determines the Bundle-Version from that. It uses a regular expression to extract the necessary version information.

      Regexes are notoriously tricky and require deep understanding of their weird and complex syntax. We need to double-check that our understanding of the regex being used and how it is working.

      See linked tickets.

      This would be a super good place to introduce some unit tests into the project. I'm just sayin.

        Attachments

          Issue Links

            Activity

            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            1.1.1-SNAPSHOT is a valid version as per https://semver.org/.

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - 1.1.1-SNAPSHOT is a valid version as per https://semver.org/ .
            Hide
            ann.loraine Ann Loraine added a comment -

            We are not allowing it for Apps mainly because there's no way we can identify the highest version if people include these.
            Can you edit the regex to only accept M.N.O where M, N, O are non-negative integers.

            Show
            ann.loraine Ann Loraine added a comment - We are not allowing it for Apps mainly because there's no way we can identify the highest version if people include these. Can you edit the regex to only accept M.N.O where M, N, O are non-negative integers.
            Show
            noor91zahara Noor Zahara (Inactive) added a comment - Code changes - https://bitbucket.org/nzahara/appstore-local/branch/IGBF-2147#diff
            Hide
            ann.loraine Ann Loraine added a comment -

            I did not try out the regex, but it looks fine. I think it is OK to submit a PR.

            Show
            ann.loraine Ann Loraine added a comment - I did not try out the regex, but it looks fine. I think it is OK to submit a PR.
            Show
            noor91zahara Noor Zahara (Inactive) added a comment - Submitted PR - https://bitbucket.org/lorainelab/appstore/pull-requests/168/igbf-2147-restrict-regex-format/diff
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged but not yet deployed to dev-appstore-2

            Show
            ann.loraine Ann Loraine added a comment - Merged but not yet deployed to dev-appstore-2
            Hide
            ann.loraine Ann Loraine added a comment -

            Deployed to dev-appstore-2

            Show
            ann.loraine Ann Loraine added a comment - Deployed to dev-appstore-2
            Hide
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment -

            Tested the ticket. Working as expected. Moving to closed.

            Show
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - Tested the ticket. Working as expected. Moving to closed.
            Hide
            ann.loraine Ann Loraine added a comment -

            Shamika Gajanan Kulkarni can you describe briefly what you did to test the functionality?

            Show
            ann.loraine Ann Loraine added a comment - Shamika Gajanan Kulkarni can you describe briefly what you did to test the functionality?
            Hide
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment -

            Prof. [~aloraine] Yes. I tried updating the pom.xml file to change the version names to different formats, for example, M.N.O.P, M.N.O.-snapshot, M.N.O-SNAPSHOT, 01.0.2, 100.0.1, etc. and I was allowed to release only those apps for which the versions were proper legal values. In the rest of the cases, I got an error message saying 'Bundle version is incorrect. Please use semantic versioning'.

            Show
            shamika Shamika Gajanan Kulkarni (Inactive) added a comment - Prof. [~aloraine] Yes. I tried updating the pom.xml file to change the version names to different formats, for example, M.N.O.P, M.N.O.-snapshot, M.N.O-SNAPSHOT, 01.0.2, 100.0.1, etc. and I was allowed to release only those apps for which the versions were proper legal values. In the rest of the cases, I got an error message saying 'Bundle version is incorrect. Please use semantic versioning'.

              People

              • Assignee:
                ann.loraine Ann Loraine
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: