-
Notifications
You must be signed in to change notification settings - Fork 10.6k
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
Implement automated delivery pipeline (CI / Continuous Integration) #961
Comments
All comments and suggestions welcomed before beginning this major undertaking that will have impact on our daily workflow. |
Mobile BuildsI think Android / iOS builds need to be a separate process. Maybe this process kick starts those. But this process should not be held up by those. As compiling for meteor already takes long enough, but compiling for Android takes longer. Not to mention the time to install the SDK every time. I have a process that does this. It takes too long. After Successful buildI think the deployment process should be manual. It can build specialized for the Demo / rocket.chat community. But shouldn't auto deploy. Build InfoSo this piece is defaulted in the repo as |
Yes. |
Cool! I'm 1,000% for it. I think this will help us a lot! |
Awesome! To address the Android build time issue. I created and tested a heavily customized Android SDK docker image and it now can compile an Android APK from Meteor source in about 1 minute. It can be hosted on a server/VPS and be triggered by a webhook from CI - so the Cordova build will not impede the 'normal build' workflow. Thanks for bringing up the issue. |
We want to include the building of a Sandstorm SPK as one of the secondary build artifacts. @paulproteus, @kentonv , @jparyani , @dwrensha Any idea of how to either:
OR
Thanks. |
Hmm, unfortunately I think it's going to be tough to run vagrant-spk inside of another VM. If you switched to plain spk, then building on Travis should be straightforward, but I don't think I'd recommend that route as plain spk requires more manual work and our tools and documentation mostly focus on vagrant-spk. |
CI/CD pipeline initial implementation - #961 - READY FOR MERGE
Core features of the CI/CD pipeline is now in place and working. Will be creating new tickets for all remaining add-on features independently -- enabling help from extended team and community. And this case will be closed in a few days. |
Cool! I know @jacksingleton was also interested in SPK creation via CI;
further discussion here:
https://groups.google.com/forum/#!topic/sandstorm-dev/dE42AeWcsLs
|
Rodrigo just removed the dependency on the custom http header.. this should make it easier of the mobile and desktop apps to work with sandstorm. |
Now that we have the webbhooks, "enhance the bot(s) to report CI events" should be trivial. We jus need to create a integration point on our DEMO server and add the CURL command on our Travis config. |
Create a delivery pipeline that will, upon the creation of a pull request:
And upon merge down of a pull request:
create the following artifacts
-create unsigned Android executable(deemed unnecessary in meeting)-optionally - (may not be possible) create iOS executable(deemed unnecessary in meeting)perform the following tasks only upon successful build of the associated artifacts
- [ ] place the Android and iOS artifacts in dev archivetrigger download of specialized DEMO server executable and re-deployment of DEMO serverOptionally, the following secondary artifacts are built
- [ ] publish an npm installable module for Rocket.Chat - we should study Ghost as they are the first large-footprint 3-tier node app to use npmAlso, create webhooks to notify bots of:
- [ ] successful/failed build (and eventually test)(move to Chatops)- [ ] successful/failed delivery of each artifact(move to Chatops)Other work items:
- [ ] create a "quickie" curl | sh deployment script for systems with node already runningAbout BUILDINFO:
<major>.<minor>
as well as last git commit information.meteor/version
ONLY DURING BUILD
<major>.<minor>
plus last git-commit infoWant to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: