Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 10 commits into from
Oct 12, 2020

Conversation

amcgee
Copy link
Member

@amcgee amcgee commented Oct 9, 2020

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
Copy link
Contributor

@varl varl left a comment

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
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