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

Automatic CI tools #3855

Closed
krzysztofwolski opened this issue Mar 20, 2019 · 9 comments
Closed

Automatic CI tools #3855

krzysztofwolski opened this issue Mar 20, 2019 · 9 comments
Labels
Milestone

Comments

@krzysztofwolski
Copy link
Member

krzysztofwolski commented Mar 20, 2019

I would like to add few new tools to CI pipeline:

  • style check with black
  • check if there are no missing db migrations
  • notify if requirements.txt/requirements_dev.txt is no updated after Piplock change
  • check if gql schema is updated

What do you think about using Github Actions? https://github.com/features/actions

Pros:

  • build in into GH: every PR has nice 'checks' tab
  • it's looking as user friendly tool
  • it's a new, shiny toy. Would love to try it out

Cons:

  • if we could use CircleCI then probably our code would be used by more people (my projects were using CircleCI, it has fair pricing and nice features)
  • not sure how it handles running tests inside docker images
@maarcingebala
Copy link
Member

We use CircleCi to build the master branch, for all other branches we use Travis. Both configurations are already present, we would only have to add the tooling that you propose. Or just use Github actions which, as I understand, are independent of both CI platforms.

@krzysztofwolski
Copy link
Member Author

krzysztofwolski commented Mar 20, 2019

Yes, GH actions are independent.

Personally, I would choose Circle over Travis in commercial projects because of better features and better pricing (AFAIK).
But for OSS Travis has great multi target builds.

@jxltom
Copy link
Contributor

jxltom commented Mar 20, 2019

I think we could try github actions first since it's built-in. if it works well, we can also migrate it to travis and circle ci. Since these services are all built by docker, it shouldn't be hard to migrate.

@NyanKiyoshi
Copy link
Member

We could do a lot with GitHub actions. There was a great use case that I wanted to implement on GitHub actions for Saleor but I can't remember what it was.

As of now GitHub Actions are in closed beta, I applied in October and still didn't have the chance to get my hand on it. So the idea of it seems kinda "dead" to me. Do you think Mirumee would gain access to it? Otherwise, we will only be able to go for external CIs until GitHub Actions is publicly available.

@krzysztofwolski
Copy link
Member Author

Was playing with GH Actions and I don't like it.

  • no support for docker-compose
  • no way to start db in separate container and connect to it (Only thing which worked was new Dockerfile with db included...) - please correct me if I'm wrong
  • soooooo slow (could be changed after beta) - 12 minutes to build saleor img alone - add test for it etc. and we easily hit 30minutes for CI. With no caching every commit will have to do this...
  • docs are weak. Only absolute basics in examples. Also no good blogposts/forums. Looks like everyone forgot about this after the first announcement.
  • never thought that I would say this - I prefer CircleCI interface. From the 'checks' tab on PR, you cannot see how many steps is prepared for this flow. Logs update after step completion.

Will prepare config for Circle.

@krzysztofwolski
Copy link
Member Author

Actions can be used for issue/pr events handling. We could set up a bot to close old issues which are not updated since months or add welcome message for new contributors.

@maarcingebala maarcingebala added this to the Backlog milestone Apr 8, 2019
@NyanKiyoshi
Copy link
Member

NyanKiyoshi commented Apr 23, 2019

For GraphQL:

  1. We could use graphql-inspector as a github-action to check the GraphQL schema (would be equivalent to Apollo's Service Check) after ensuring the committed schema is up to date (by running a diff). It offers a lot of features to analyze any possible issue with the schema.
    image

  2. We could tell CircleCI to automatically upload the schema to Apollo Engine whenever a change is pushed to master.

@stale
Copy link

stale bot commented Nov 1, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Nov 1, 2019
@stale stale bot removed the stale label Nov 5, 2019
@krzysztofwolski
Copy link
Member Author

Summary:

  • we will stay with Travis
  • checks implemented by @NyanKiyoshi 💪

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

No branches or pull requests

4 participants