-
Notifications
You must be signed in to change notification settings - Fork 13
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
Reset35: Restore merging of #35 + fixes #49
Conversation
The standard PluginInstall has a nasty bug which uses the source path as part of installation path. Remove, and use a simple OpenCPN.app prefix The loader expects the apple tarball to have paths like: - OpenCPN.app/Contents/PlugIns: .dylib plugin file, binaries and helper libs. - OpenCPN.app/Contents/Resources: .lproj gettext translations directories. The prefix is discarded and could be anything. Let "make package" build both the traditional installer and the new installation tarball. Remove references to other formats, notably rpm.
Some places including bintray uses a common namespace for all plugins. Make sure the plugin filename is unique by including both source and target name and version.
We are using deprecated and finally failing stuff. See: OpenCPN/OpenCPN#1452
Updating the key is error-prone and requires the secret key. It also requires the travis command line utility. Using that and the key I was finally able to update .travis.yml using travis encrypt -x -a deploy.key -r leamas/squiddio_pi <my key> -x: Overwrite existing key -r: Name of repo Note that the repo is part of the key so after forking a new, encrypted key must be generated.
The travis bintray integration seems just unstable. Use a raw access to the REST API in a shellscript instead.
... and move tarball location to cloudsmith
Hi,
I have now got the cmake files so that CMakeList.txt contains the
variables you need to modify. There is now now reference to Squiddio in
the cmake directory and the only mention in the ci directory is in
'control.trusty', 'control.xenial' and 'circleci-upload.sh' which I am
not touching.
So now I just need to know which repository, which branch and when
to create the pull request. I will rebase on whatever branch/repository
is deemed the best.
Regards
Jon
…On 12/10/19 4:56 pm, leamas wrote:
This PR:
* Restores the state to [d474c8f
<d474c8f>],
the last commit before merging #35
<#35>
* Re-merges (cherry-picks) #35
<#35> on top of that.
* Restores travis.yml to d474c8f
<d474c8f>
* Restores the github deployment part in appveyor.yml to d474c8f
<d474c8f>.
* Updates the cloudsmith repo info in ci/appveyor-upload.sh and
ci/circleci-upload.sh
It builds successfully in 8 builders for me. . If you choose to accept
this PR I'd recommend the following for continued work:
* Before merging: make sure CLOUDSMITH_API_KEY is available as an
environment variable
in appveyor and circleci builders.
* Don't merge anything until it's verified that everything builds
(I'm ready to submit PRs
should it be required for this).
* After this: don't merge anything which breaks the builds
* Don't push -f
* Keep the history linear by requiring submitters like @jongough
<https://github.com/jongough> and me to rebase their PR
branches to current master before you merge them
* Don't do anything with the od-fixes branch until it is handled by
@jongough <https://github.com/jongough>.
Yes, this PR is invasive and heavy-handed, agreed. Given the situation
it's the best I can do, though. Sorry.
------------------------------------------------------------------------
You can view, comment on, or merge this pull request online at:
#49
Commit Summary
* Revert to d474c8f, before merging #35
* flatpak: Initial packaging.
* cmake: Define OpenGL lib to use (mute warning).
* build: Add api16/opencpn.lib, handle api version.
* build: Build a tar.gz package along with ordinary installer
* build: give plugin a more unique name.
* build: Add plugin XML metadata generation.
* ci: Add appveyor msvc build.
* build: Move to C++11
* mingw: Fix opencpn import lib
* build: Update to handle recent cmake
* ci: Add travis builds for macos and debian
* Avoid using travis crappy bintray integration.
* Adding flatpak build.
* ci: Add cloudsmith deployment.
* ci: Add circleci configuration.
* .gitignore
* appveyor: drop secret, unused key
* build: flatpak: Update used branch stable -> master
* build: Restore .travis.yml to original state.
* build: appveyor: restore original deployement.
* build: circleci: Reset built branch to master only.
* ci: cloudsmith: Update repo url in upload an xml metadata.
File Changes
* *M* .circleci/config.yml
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-0> (26)
* *M* .gitignore
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-1> (2)
* *M* CMakeLists.txt
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-2> (55)
* *A* api-16/libopencpn.dll.a
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-3> (0)
* *R* api-16/ocpn_plugin.h
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-4> (0)
* *A* api-16/opencpn.lib
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-5> (0)
* *M* appveyor.yml
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-6> (20)
* *D* buildosx/Info.plist.in
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-7> (49)
* *M* buildosx/InstallOSX/squiddio_pi.pkgproj.in
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-8> (15)
* *D* buildosx/MainMenu.xib
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-9> (638)
* *D* buildosx/README.txt
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-10> (30)
* *D* buildosx/background.png
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-11> (0)
* *D* buildosx/create-dmg
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-12> (230)
* *D* buildosx/support/AdiumApplescriptRunner
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-13> (0)
* *D* buildosx/support/dmg-license.py
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-14> (163)
* *D* buildosx/support/template.applescript
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-15> (79)
* *M* ci/appveyor-upload.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-16> (2)
* *M* ci/bintray.js
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-17> (14)
* *M* ci/circleci-build-debian.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-18> (6)
* *M* ci/circleci-build-flatpak.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-19> (13)
* *M* ci/circleci-build-macos.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-20> (3)
* *M* ci/circleci-build-mingw.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-21> (5)
* *M* ci/circleci-upload.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-22> (2)
* *R* ci/control
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-23> (8)
* *D* ci/control.xenial
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-24> (32)
* *M* ci/docker-build-fedora.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-25> (10)
* *M* ci/docker-build-flatpak.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-26> (12)
* *D* ci/docker-build-mingw.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-27> (20)
* *M* ci/opencpn-fedora.spec
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-28> (5)
* *M* ci/travis-build-debian.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-29> (3)
* *M* ci/travis-build-flatpak.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-30> (3)
* *D* ci/travis-build-mingw.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-31> (32)
* *M* ci/travis-build-osx.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-32> (39)
* *M* ci/travis-upload.sh
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-33> (2)
* *M* cmake/PluginConfigure.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-34> (37)
* *M* cmake/PluginInstall.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-35> (128)
* *M* cmake/PluginLocalization.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-36> (2)
* *M* cmake/PluginPackage.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-37> (134)
* *A* cmake/PluginSetup.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-38> (59)
* *M* cmake/version.h.in
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-39> (7)
* *A* flatpak/.gitignore
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-40> (13)
* *A* flatpak/Makefile
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-41> (1587)
* *A* flatpak/Makefile.fp
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-42> (16)
* *A* flatpak/README.md
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-43> (20)
* *A* flatpak/org.opencpn.OpenCPN.Plugin.squiddio.yaml
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-44> (22)
* *A* mingw/fedora/README.md
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-45> (21)
* *R* mingw/fedora/opencpn-deps.spec
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-46> (3)
* *R* mingw/fedora/toolchain.cmake
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-47> (1)
* *A* squiddio-plugin.xml.in
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-48> (26)
* *M* src/icons.cpp
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-49> (11)
* *M* src/icons.h
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-50> (3)
* *D* src/images/logo_images/plugin_logo.png
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-51> (0)
* *M* src/images/plugin_logo.png
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-52> (0)
* *D* src/images/ramp_grn.png
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-53> (0)
* *M* src/squiddio_pi.cpp
<https://github.com/mauroc/squiddio_pi/pull/49/files#diff-54> (14)
Patch Links:
* https://github.com/mauroc/squiddio_pi/pull/49.patch
* https://github.com/mauroc/squiddio_pi/pull/49.diff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#49?email_source=notifications&email_token=AAVMMKBR3TGJTQVRMQHV3G3QOFRJ5A5CNFSM4JABL6J2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HRLBTLQ>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAVMMKFRXH6BKMUQZHYJZFLQOFRJ5ANCNFSM4JABL6JQ>.
--
Jon Gough
Technical Manager
Eclipse Systems Pty Ltd
PO Box 301
Bungendore
NSW 2621
Tel/Fax: (02) 6238 3591
|
@mauroc: The circleci builds seems to fail either because I got the cloudsmith repo name wrong (please review [3230d33]) or because CLOUDSMITH_API_KEY is missing in the circleci builder environment. It's actually the same for the appveyor build, the cloudsmith deployment fails, presumably for the same reasons. These are things I cannot fix... |
Good Morning, Alec has been busy. Nice, the revert & commits in one package. This approach should leave us with a good history, identifying Plugin_Manager commits and Jon's Improvements Commits in an orderly fashion. Thank you.
|
To answer my own question: On local github/squiddio_pi repository Check out the "experiment" branch, revert to some 'commit' and then rebase it onto the "master" branch as follows:
Found a branch "work" and Comparing Changes, 24 commits done on Oct 11 and one on Oct 12. Which all begs the question, how did he do the git rebase? Found these leamas branches.
So, now I think I understand that he just unwound or "reverted" the master branch back to July 1 and then reopened his orginal PR that had been merged and made a new PR, then added more PR's. No rebase necessary! Leaving that part for others. Hope Mauro can get the ci builds working before merging. |
Necessary commits since July 1 by git rebase on top of Leamas commits (when merged). Here is a file with all the commit #s after July 1 + descriptions with notes adjacent, to help with rebase. The commits are available in https://github.com/rgleason/squiddio_pi/commits/mauroc_mstr-fx_mkdir-oct_11 |
@mauroc: Still don't understand why the cloudsmith uploads fails on permission denied. Possible causes includes wrong CLOUDSMITH_API_KEY and/or something with the permissions. Attaching the permissions page for my working repo. Note that Replace Packages By Default? is ticked -- it isn't by default: |
@mauroc: The first question is if it is your intent to accept or reject this PR. As I understand it, @rgleason has expressed his support for accepting it, and @jongough has declared that he can live with it. As the submitter, I personally would of course also prefer if you accept it. But in the end, you are the upstream maintainer and it's your decision. If you intend to merge this, we need to fix the Permission Denied cloudsmith error before merging if at all possible. |
https://support.circleci.com/hc/en-us/articles/360002341673-Identifying-Exit-Codes-and-their-meanings Code 19 |
Please don't initiate discussions on trivial linux error code handling. The root cause here is the 403 error code, the rest is not relevant. And, the issue right now is if @mauroc intends to accept or reject this PR. If he rejects it, there is nothing more to discuss. So, please don't add more noise to this PR. |
I'd certainly prefer to accept it and move on, but, as you suggest, i need to check it all builds correctly before I do it. Problem has been 1) lack of time and 2) lack of sufficient experience dealing with PRs. Any suggestions as to how to test the PR locally before I accept it? EDIT: never mind - I didn't see the "command line instructions" link at the bottom....I'll give that a try - unless you have better advice |
this is where I got the cloudsmith API key This is where I put it in CircleCI ..and in appveyor (I just added this. In the past, I had used an encrypted key in the code) |
It looks like the cloudsmith , appveyor and circleci accounts are still valid and up to date. I have no idea why the deploys fail, but just for good measure I refreshed the Cloudsmith API key and updated the appveyor and circle ci CLOUDSMITH_API_KEY environment variables. I hope this helps |
@leamas : All I could find for a MacOS builder was a 2 week free trial for a $29 / month plan. Did you contact customer service and request a free plan ? |
first the good news: the leamas-reset35 branch I am testing locally (available on mauroc/squiddio_pi as well) completed successfully on CircleCI and uploaded to Cloudsmith: The not-so-good-news:
I don't know if this permission is set in Appveyor or Cloudsmith... Finally, the MacOS build in travis-ci fails (it used to work), but I am not sure if this is relevant any more. It is used to upload the mac release to Github .... |
Mauro, Thank you for the very clear explanation showing what key goes where and how! Including Appveyor simplification! Regarding CircleCI Cloudsmith integration |
@mauroc: this is indeed great news! If you look into the logs for the failing appveyor upload you will find a line like
Or
Where the part printed is the four leading characters in the key. Does this give any hint? Since the circleci upload is ok there is nothing wrong with the repo and it's permissions. The links provided by @rgleason are not relevant. We are not using any integration, we are using the raw stuff by installing the cloudsmith cli tool and using that to deploy. |
OK - Appveyor cloudsmith build/deploy now works. (for the benefit of others: there is a Save button at the bottom of the appveyor page where you enter the cloudsmith_api_key that I had not seen. I thought just pasting it into the field and exiting the field was enough to commit it) The MacOS build/deploy also works now that I signed up for the free trial of MacOS on Circleci. (Not sure what will happen when the 2-week trial ends). So, great progress all in all. The macOS build on Travis-ci still fails due to problems with Homebrew setup:
Is this something I need to worry about? It's been used to push a new release to Github Releases, which in turn is referenced in the opencpn.org web site, so I have to believe it will be necessary for a while the new Install feature takes over. Other than that I am ready to accept the PR. |
Lately, the travis MacOS image homebrew installation has become broken. Walk aroun dby re-installing homebrew.
The MacOS errors seems to be related to changes (bugs) in the recent travis osx image. I have pushed two commits to cope with this. They build by me. A bit curious, while we still have some fresh memories: What was the problem(s) besides the dreaded appveyor Save button? Valuable info next time we should go through this... |
You need to get a open-source MacOS builder. See https://circleci.com/open-source/. The process was simple and fast for me. |
looks like you fixed the issue with these 2 commits. MacOS now builds correctly in Travis-ci (and so did the other Travis-ci, appveyor and circleci builds....phew!).
|
that and getting the opensource MacOS opensource build on CircleCI were really the only hiccups I found. The CircleCi builds went without a hitch on the first try |
OK. Thanks for how you have handled this somewhat complicated situation! Now, I guess @jongough needs you attention so he can rebase his changes onto current master. |
This PR:
It builds successfully in 8 builders for me. . If you choose to accept this PR I'd recommend the following for the continued work:
in appveyor and circleci builders.
should it be required for this).
branches to current master before you merge them
Yes, this PR is invasive and heavy-handed, agreed. Given the situation it's the best I can do, though. Sorry.