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

CI and release configuration #15

Closed
wants to merge 1 commit into from

Conversation

asutula
Copy link
Collaborator

@asutula asutula commented Oct 8, 2019

Depends on #5 being merged first.

This PR adds a CircleCI config and some release config files that:

  • Run tests on every branch commit
  • Build the iOS .framework and Android .aar on each commit to master, save the libraries as artifacts
  • Use some special sauce (see config.yml's build-ios-framework job) to build an iOS framework that Apple with actually approve for App Store distribution (the current/default gomobile creates .frameworks that use some illegal API Apple will reject apps for)
  • Publish source code + libraries as a Github release on every release tag
  • Release the iOS .framework and Android .aar on Cocoapods and Bintray maven respectively on every release tag

This provides a nice foundation to build iOS, Android and React Native libraries from. Presumably, those libraries will depend on the artifacts published by this repo.

A couple notes/todos:

  • You can see the Github releases working at https://github.com/textileio/gomobile-ipfs/releases
  • The publishing of the Cocoapod fails because the repo is currently private (the Cocoapod relies on downloading the .framework archive from the Github release, but can't since the Github repo is private). It should work fine once the repo is public.
  • The Android lib is currently being published to https://dl.bintray.com/textile/maven/io/textile/gomobile-ipfs but that will change, see next bullet
  • The current .pom, .podspec and build configuration use "Textile" naming for various things. We will update that once this is merged and lives in a Berty or ifps-shipyard repo and we can use their CI and Maven organizations.

@asutula asutula force-pushed the asutula/ci-release branch from 54b048b to c101b0c Compare October 8, 2019 22:21
@aeddi
Copy link
Member

aeddi commented Oct 18, 2019

Hello @asutula,

Really sorry for the response time (we are in constant rush right now).

This provides a nice foundation to build iOS, Android and React Native libraries from. Presumably, those libraries will depend on the artifacts published by this repo.

It's really cool to have your contributions on this point. On our side we only used all our libs internally so it's really useful to benefit from your experience on deploying iOS / Android packages. :)

The current .pom, .podspec and build configuration use "Textile" naming for various things. We will update that once this is merged and lives in a Berty or ifps-shipyard repo and we can use their CI and Maven organizations.

Ok cool 👍 we'll put everything under the name "IPFS" (or something like that) when the repo will be moved under Shipyard or IPFS organization and open-sourced.

However, about CircleCI, we do not know if it will be possible to use it when the repo will be moved under Shipyard or IPFS organization. We don't know Protocol Labs policy on the subject, especially since for build on macOS, CircleCI is not free, even for open-source projects (when Github Actions remains free for the moment).

Maybe @Stebalien or @parkan can tell us more about this point?

@carsonfarmer
Copy link
Collaborator

We have been moving a lot of our workflow to GitHub Actions, so this might be a possibility? cc @asutula

@aeddi
Copy link
Member

aeddi commented Feb 11, 2020

#29

@github-actions
Copy link

🎉 This issue has been resolved in version 1.0.0 🎉

The release is available on GitHub release

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.

4 participants