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

Binary files in the distribution package & CI #341

Closed
AutomationD opened this issue Oct 14, 2015 · 11 comments
Closed

Binary files in the distribution package & CI #341

AutomationD opened this issue Oct 14, 2015 · 11 comments

Comments

@AutomationD
Copy link
Contributor

Hi all,
Let's sync up on the topic of how do we distribute sming for all users.
I see it this way:

1. We build sming core in the CI (Jenkins)

Build binaries (currently libsming and spiffy) for all platforms. This will be available as sming-core or some similar zip file.
We will have 3 files as a result of this build:

  • sming-core-1.0.4-linux-x86_64.tar.gz
  • sming-core-1.0.4-win32-x86_64.zip
  • sming-core-1.0.4-darwin-x86_64.zip

2. We package environment

Full isolated environment that contains a specific sdk version (tested one), and other external tools. This package contains sming-core contents as well.

  • sming-1.0.4-linux-x86_64.tar.gz
  • sming-1.0.4-win32-x86_64.zip
  • sming-1.0.4-darwin-x86_64.zip

3. We create an installer (optional)

Should work in a cross-platform way
CI step that takes care of building an installer package

The main idea here that user shouldn't be required to think about anything other then his project, and the closest way to implement this is build a package.
I'm working on building a ci cluster with at least all 3 platforms.
I will update this proposal when I get more details, but until then feel free to comment.

@AutomationD AutomationD changed the title Binary files in the distribution package Binary files in the distribution package & CI Oct 14, 2015
@AutomationD
Copy link
Contributor Author

Good news, I was able to run OSX on my Proxmox cluster. This will allow use build on mac too:

@raburton
Copy link
Member

Quick thought, will write it while I think about it. We need to add a "release" or similar make target. It will build everything and then call a limited clean target that removes all the intermediate files but just leaves the binaries we want (where clean normally cleans everything). Then a new version can simply be checked out, built with release target and then zipped. Easy way to make your core zips.

@hreintke
Copy link
Contributor

Some thoughts on timing.
Now/soon we have the major update on rboot integration/spiffy/spiffs and a number of fixes ready.
I think it would be wise to take this as a Sming release 1.4.0 before adding more functionality.

Question the is whether we would release 1.4.0 in the "old way" or are already (partly ?) ready for taking (parts of) the ideas above ?

@AutomationD
Copy link
Contributor Author

I am not ready to make a cross platform build yet.

@raburton
Copy link
Member

@hreintke rBoot was integrated in v1.3.0. We do have plenty of new stuff though, and bug fixes, waiting to go. I'd like the new spiffs/spiffy to get a bit more testing before it goes into a release though. If there are no more issues tomorrow (as people are currently testing with it) I'll merge it to develop so it gets wider testing. I suggest development freeze around that time and assuming no blockers within a couple of days release v1.4.0, in the same was as v1.3.0. This issue is going to take a little time to get up and running so we shouldn't wait in the mean time.

@raburton
Copy link
Member

@kireevco do you realise that little image you posted is 3.8mb? And github doesn't create a thumbnail for it. Not very mobile friendly!

@AutomationD
Copy link
Contributor Author

@raburton ah... stupid retina screenshots. sorry.

@hreintke
Copy link
Contributor

@raburton :
Yes, that was my idea too.
Once we freeze I will submit an issue "Feedback on Release 1.4.0" where we can collect issues/opinions on the release to come.
One thing one forehand : we will need documentation as there are actions needed from users to upgrade without problems.

@AutomationD
Copy link
Contributor Author

Making progress:

2015-10-19_1122

@AutomationD
Copy link
Contributor Author

I got esp-alt-sdk built on my cluster, all platforms work correctly. I'll work on sming build steps.
Good news, that travisci has mac builder now!

@hreintke
Copy link
Contributor

Travis running implemented.

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

No branches or pull requests

3 participants