-
Notifications
You must be signed in to change notification settings - Fork 22
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
ocpn-plugin.xsd inconsistent across alpha, beta and prod making it impossible to release new code #588
Comments
Jon... |
Dave, Can the process be updated such that new items are put in alpha first then migrated through beta into prod? If there is a need to put it into prod quickly then both alpha and beta need to be updated at that time. I have just tried with the new prod and got:
So is ubuntu arm gtk3 only supported on arm64 and not armhf for ubuntu 20.04? |
"So is ubuntu arm gtk3 only supported on arm64 and not armhf for ubuntu 20.04?" On the XSD files: Jon, you are leading the curve here by using, in sequence, all three branches. Alpha is not much used by others, in general. Beta neither, except for carefully selected testers. I've instructed Rick to publish to master directly, so that we get immediate feedback. Anyway, as a result of using all 3 branches, you might expect to be the first to find some anomalies in the build tooling. When you find them, surface them as you have, and they get fixed. That is the process. Each step is an improvement. No drama. |
So if ubuntu-gtk3-armhf is not allowed why is debian-armhf which is built with gtk3 allowed? The ubuntu version only has gtk3 in it because plugin manager requires that it be identified as such. |
"So is ubuntu arm gtk3 only supported on arm64 and not armhf for ubuntu 20.04?" Looks like another bug. "ubuntu-gtk3-armhf" is the target for Raspbian Bullseye, and it uses gtk3. |
Committed revised ocpn-plugin.xsd to all three branches, exactly the same for all. |
Just checked and the 'debian-armhf' targets are not in any of the xsd's. I know these are the latest targets as that is what I am trying to get frontend2 to deliver for the other plugins. As the xsd's and plugin manager are tightly coupled I am not game to make any changes to the xsd as the plugin manager is opaque to me. |
Jon... A point of information: Importantly, in no way does existence of a target in the XSD imply that OCPN56 promises the capability of loading such a plugin. Indeed, OCPN-runtime has no knowledge of the XSD files in the plugins repo. So, feel free to build and test for any target you wish. Post a PR to add targets to the XSD, if necessary, for publication. What really happens in OCPN at runtime is another thing entirely. |
I only built the debian-arm* process as I had an issue raised against testplugin to do so jongough/testplugin_pi#238. Testplugin (frontend2) now builds for this but does need a test environment that will work. It sounds like this is still a way off. |
Please see: |
There is still a problem with inconsistencies. The alpha version has "darwin-wx32", the beta version has "darwin-wx321" and prod version has "darwin-wx32". Can there please be consistency between git branches? The current situation makes it impossible to build for alpha, move to beta and then to prod. |
Done. Thanks for the catch. |
It would appear using a standard process for changes starting in alpha and being migrated through to prod would alleviate these issues. Emergency fixes would have their own process to get them into prod, but part of that would be to retrofit them through alpha and beta as soon as reasonable. Thanks |
So with these changes to the plugin gatekeeper script (for examples see below) , I expect it is unlikely that we will be able to recompile O5.6.2 plugins and push them to opencpn/plugins. I suppose you could have a gatekeeper script that allowed both O5.6.2 and O5.7.1 but this is some work. Also the ci scripts for O5.7.1 would have to be saved. So if the O5.6.2 plugins files are lost on Cloudsmith for some reason, they are history. The only way to keep them intact is to back them up somewhere and allow users to "Import Plugin" from some backup location. So this is a long way of saying that it is highly unlikely that we will be able to update the O 5.6.2 plugins.... but don't we want to back them up somewhere?
|
Jon, can this be closed now? I used a link to this in OpenCPN Discussions OpenCPN/OpenCPN#3183 |
With each change to the plugin manager requirement the xsd's are inconsistent with each other, what has been discussed in the forums and in the issues here and change without notice. This has happened again! This make releasing any new code very difficult except for the person making the changes to plugin manger. I have just released a version of a plugin through alpha, beta and into prod. This eventually worked when the plugin manger and the xsd was finally made consistent across the levels. They have now changed again, without notice. Here are the versions:
Alpha ```
<xs:element name="target">
xs:simpleType
<xs:restriction base = "xs:string">
<xs:enumeration value = "all"/>
<xs:enumeration value = "android-arm64-v8a"/>
<xs:enumeration value = "android-armeabi-v7a"/>
<xs:enumeration value = "darwin"/>
<xs:enumeration value = "darwin-wx315"/>
<xs:enumeration value = "debian-armhf"/>
<xs:enumeration value = "debian-x86_64"/>
<xs:enumeration value = "flatpak-aarch64"/>
<xs:enumeration value = "flatpak-x86_64"/>
<xs:enumeration value = "mingw"/>
<xs:enumeration value = "mingw-x86_64"/>
<xs:enumeration value = "msvc"/>
<xs:enumeration value = "raspbian-armhf"/>
<xs:enumeration value = "ubuntu-arm64"/>
<xs:enumeration value = "ubuntu-gtk3-arm64"/>
<xs:enumeration value = "ubuntu-gtk3-x86_64"/>
<xs:enumeration value = "ubuntu-x86_64"/>
<xs:enumeration value = "android-armhf"/>
<xs:enumeration value = "android-arm64"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="target">
xs:simpleType
<xs:restriction base = "xs:string">
<xs:enumeration value = "all"/>
<xs:enumeration value = "android-arm64-v8a"/>
<xs:enumeration value = "android-armeabi-v7a"/>
<xs:enumeration value = "darwin"/>
<xs:enumeration value = "darwin-wx315"/>
<xs:enumeration value = "debian-armhf"/>
<xs:enumeration value = "debian-x86_64"/>
<xs:enumeration value = "flatpak-aarch64"/>
<xs:enumeration value = "flatpak-x86_64"/>
<xs:enumeration value = "mingw"/>
<xs:enumeration value = "mingw-x86_64"/>
<xs:enumeration value = "msvc"/>
<xs:enumeration value = "raspbian-armhf"/>
<xs:enumeration value = "ubuntu-armhf"/>
<xs:enumeration value = "ubuntu-gtk3-armhf"/>
<xs:enumeration value = "ubuntu-gtk3-x86_64"/>
<xs:enumeration value = "ubuntu-x86_64"/>
<xs:enumeration value = "android-armhf"/>
<xs:enumeration value = "android-arm64"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="target">
xs:simpleType
<xs:restriction base = "xs:string">
<xs:enumeration value = "all"/>
<xs:enumeration value = "android-arm64-v8a"/>
<xs:enumeration value = "android-armeabi-v7a"/>
<xs:enumeration value = "darwin"/>
<xs:enumeration value = "darwin-wx315"/>
<xs:enumeration value = "debian-armhf"/>
<xs:enumeration value = "debian-x86_64"/>
<xs:enumeration value = "flatpak-aarch64"/>
<xs:enumeration value = "flatpak-x86_64"/>
<xs:enumeration value = "mingw"/>
<xs:enumeration value = "mingw-x86_64"/>
<xs:enumeration value = "msvc"/>
<xs:enumeration value = "raspbian-armhf"/>
<xs:enumeration value = "ubuntu-arm64"/>
<xs:enumeration value = "ubuntu-gtk3-arm64"/>
<xs:enumeration value = "ubuntu-gtk3-x86_64"/>
<xs:enumeration value = "ubuntu-x86_64"/>
<xs:enumeration value = "android-armhf"/>
<xs:enumeration value = "android-arm64"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
The text was updated successfully, but these errors were encountered: