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

Make testing a PR easier #1511

Closed
christianbrb opened this issue May 13, 2020 · 11 comments · Fixed by #1754
Closed

Make testing a PR easier #1511

christianbrb opened this issue May 13, 2020 · 11 comments · Fixed by #1754
Assignees
Labels
8 discussion 💬 Issues that need discussion and decision taking infrastructure 🚧 Tests, CI, and general project infrastructure test Tests related issues

Comments

@christianbrb
Copy link
Contributor

christianbrb commented May 13, 2020

Description

Currently we have got the problem, that it is difficult to get a branch/PR in a state where it can be tested by the reviewer.

We have discussed several solutions:

Additional actions:

  • Having a different account for testing
  • Test steps more detailed (exclude bugs)

Acceptance criteria

  • Decide on an approach and estimate after discussion

Tasks

  • [ ]
@christianbrb christianbrb added test Tests related issues infrastructure 🚧 Tests, CI, and general project infrastructure labels May 13, 2020
@christianbrb christianbrb added this to the Product Backlog milestone May 13, 2020
@nephix
Copy link
Contributor

nephix commented May 14, 2020

Vercel makes it very easy but reusing the build artifacts makes sense as well since we already build the dapp+sdk on every branch push. Would only need to:

  • deploy it somewhere
  • make it unique per pull request
  • remove deployment when pull request gets closed/merged

If that's too complicated, downloading the artifacts and running them locally sounds good as well imo 👍 GH allows zip attachments with a max size of 25MB so should work for us

@christianbrb christianbrb added the Ready 🎬 Issues which are ready to be pulled into the iteration label May 14, 2020
@christianbrb
Copy link
Contributor Author

Seems to be ready for the iteration for me

@nephix @kelsos @andrevmatos Please remove the label if there is more refinement needed.

@kelsos
Copy link
Contributor

kelsos commented May 14, 2020

The vercel flow seems reasonable to me, and easy.

@taleldayekh taleldayekh added discussion 💬 Issues that need discussion and decision taking 3 labels May 14, 2020
@taleldayekh taleldayekh removed this from the Product Backlog milestone May 14, 2020
@nephix nephix self-assigned this May 15, 2020
@nephix
Copy link
Contributor

nephix commented May 15, 2020

Zeit/Vercel's Now doesn't seem to offer a lot of monorepo support yet so it probably makes sense to go with a different option

vercel/vercel#3547

@nephix nephix removed their assignment May 15, 2020
@nephix
Copy link
Contributor

nephix commented May 15, 2020

Another option would be to use netlify/vercel and tell it via CLI to deploy the build artifacts that we build via CircleCI:

$ netlify deploy --dir raiden-dapp/dist --site 714de093-0a95-4dc4-a978-ff660e317d91 --auth NETLIFY_AUTH_TOKEN --json

{
  "site_id": "714de093-0a95-4dc4-a978-ff660e317d91",
  "site_name": "light-client-preview",
  "deploy_id": "5ebe756f0a2659511cf450be",
  "deploy_url": "https://5ebe756f0a2659511cf450be--light-client-preview.netlify.app",
  "logs": "https://app.netlify.com/sites/light-client-preview/deploys/5ebe756f0a2659511cf450be"
}

And then in a second step comment the deploy_url to the pull request (this orb might help? https://circleci.com/orbs/registry/orb/benjlevesque/pr-comment)

I feel like integrating it into the work flow may be a lot more work though than just calling it locally and then adding it to the pull request 🤔

@nephix nephix removed the Ready 🎬 Issues which are ready to be pulled into the iteration label May 16, 2020
@christianbrb
Copy link
Contributor Author

@kelsos
Copy link
Contributor

kelsos commented Jun 8, 2020

I already checked the review-apps but I am not sure about the cost of that.

The whole idea is to automate the deployment using CI, but where to deploy is a question. I had a discussion with Nils on that but I am still not sure about deploying new instances of anything on each PR.

@christianbrb
Copy link
Contributor Author

@andrevmatos to create a server (docker image)

@christianbrb christianbrb added this to the Product Backlog milestone Jun 10, 2020
@christianbrb christianbrb added 8 and removed 3 labels Jun 11, 2020
@christianbrb christianbrb removed this from the Product Backlog milestone Jun 11, 2020
@christianbrb
Copy link
Contributor Author

Briefly discussed with @kelsos to take out complexity.

If there is no objection we would just provide the tool @andrevmatos proposed that downloads the published artifacts from CircleCI, starts an express server, and serves the content on the dev/tester local machine without publishing it on a remote server.

@christianbrb
Copy link
Contributor Author

Decided in the daily: We go with the simple local approach :)

@andrevmatos andrevmatos self-assigned this Jun 17, 2020
@andrevmatos
Copy link
Contributor

I'm not sure what simple local approach means... for me, a simple local approach is what we have currently: checkout branch, build and serve. Simpler local than that, could only be download and serve, but that's not less work than what we have. And beyond that, just do this automatically upon accessing a URL of a service hosted somewhere. I'm looking for options on how it could look like local or remote.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8 discussion 💬 Issues that need discussion and decision taking infrastructure 🚧 Tests, CI, and general project infrastructure test Tests related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants