GithubHelp home page GithubHelp logo

percy-client's Issues

Percy <-> Github integration is not picking up the latest Percy build for a PR, thereby blocking it from being merged

I have a PR at ampproject/amphtml#11827, for which Travis CI ran Percy visual diff tests that passed. However, Percy <-> github integration is showing a red cross mark against the PR that links to an older failed build even though the latest Travis test run's Percy build happened after the failed build.

Screenshot from PR:
image

This links to Percy build # 6421

However, the latest Travis build from the PR generated Percy build # 6423, which was successful.

We enforce Percy checks in our repository, so this issue is blocking some of our PRs from being merged.

@timhaines @fotinakis is this a known problem? Or could I be missing something?

Github Integration never completes on Percy admin.

I have added Percy as an integration on Github where I am an owner.
On Github, I have allowed all requested privileges and the integration looks complete on Github.

On Percy, the screen hangs with the following message:
GitHub App processing...
Waiting for GitHub to complete the installation.

Consider providing a way to specify the baseline SHA for a Percy build

This is a feature request stemming from the discussion in ampproject/amphtml#11385, and from 1:1 conversations with @fotinakis.

The ampproject/amphtml project uses forked repos for development, due to which github's API has no way of knowing a PR's branch point off of the mainline master branch. This is messing with Percy's automatic baseline picking logic, and is proving to be problematic in a bunch of ways.

If we have a way to provide Percy with a branch point SHA which can be used during baseline picking, we'd be able to mitigate all related problems.

/to @fotinakis @timhaines

Jenkins env vars do not work with Pipeline Plugin

A relatively new way to build git projects is with the Pipeline Plugin, which includes the Multi-Branch Plugin. These set different environmental variables than the GitHub PR Builder Plugin, which Percy natively supports.

This causes problems like all builds being listed as detached heads instead of the actual branches, unless the optional variables are set manually.

Here are the variables I see that expect the PR Builder Plugin, and what the Pipeline Plugin provides:

invalid byte sequence in US-ASCII

In some odd CI builds I get:

An error occurred in a `before(:suite)` hook.
--
  | Failure/Error: build = Percy::Capybara.initialize_build
  |  
  | ArgumentError:
  | invalid byte sequence in US-ASCII
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-client-1.11.0/lib/percy/client/environment.rb:39:in `match'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-client-1.11.0/lib/percy/client/environment.rb:39:in `match'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-client-1.11.0/lib/percy/client/environment.rb:39:in `block in commit'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-client-1.11.0/lib/percy/client/environment.rb:47:in `commit'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-client-1.11.0/lib/percy/client/builds.rb:7:in `create_build'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-capybara-2.5.1/lib/percy/capybara/client/builds.rb:19:in `block in initialize_build'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-capybara-2.5.1/lib/percy/capybara/client.rb:68:in `rescue_connection_failures'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-capybara-2.5.1/lib/percy/capybara/client/builds.rb:18:in `initialize_build'
  | # ./vendor/bundle/ruby/2.4.0/gems/percy-capybara-2.5.1/lib/percy/capybara.rb:29:in `initialize_build'
  | # ./spec/spec_helper.rb:36:in `block (2 levels) in <top (required)>'
  |  
  | An error occurred in an `after(:suite)` hook.
  | Failure/Error: $build_url = build['data']['attributes']['web-url']
  |  
  | NoMethodError:
  | undefined method `[]' for nil:NilClass
  | # ./spec/spec_helper.rb:40:in `block (2 levels) in <top (required)>'

Not sure, yet, when or why exactly this happens.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.