Skip to content

feat: detect server version, use latest available api version#470

Merged
amcgee merged 10 commits into
masterfrom
feat/server-versioning
Oct 12, 2020
Merged

feat: detect server version, use latest available api version#470
amcgee merged 10 commits into
masterfrom
feat/server-versioning

Conversation

@amcgee

@amcgee amcgee commented Oct 9, 2020

Copy link
Copy Markdown
Contributor

This change deprecates the DHIS2_API_VERSION environment variable, which would previously hard-code the api version to be used by every runtime query in the application. The previous default was 32, which is several versions behind at this point.

After this change, the App Shell makes a single call to an un-versioned API endpoint /api/system/info to detect the version of the DHIS2 instance (as well as some other immutable system information). The server version is then parsed to determine the "latest" version of the DHIS2 API to use - equal to the minor server version (this may need to change in the future, if we slow down breaking API changes).

Additionally, the results of the /system/info all are saved into the systemInfo property of the App Runtime config service (dhis2/app-runtime#652), and the parsed server version (major, minor, patch, tag) are saved in the serverVersion property.

Finally, this cleans up and refactors the folder hierarchy of the app-adapter package.

I added some test and noticed that neither build nor test were previously run on CI, so I updated the GHA workflow to run lint/build/test in parallel in a single workflow.

@amcgee
amcgee requested a review from a team October 9, 2020 15:35

@varl varl left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice feature addition! Also great to get rid of the hardcoded fallback to 32. 👍

@amcgee
amcgee merged commit ef92456 into master Oct 12, 2020
@amcgee
amcgee deleted the feat/server-versioning branch October 12, 2020 08:55
dhis2-bot added a commit that referenced this pull request Oct 12, 2020
# [5.3.0](v5.2.2...v5.3.0) (2020-10-12)

### Features

* detect server version, use latest available api version ([#470](#470)) ([ef92456](ef92456))
@dhis2-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.3.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants