Commit Graph

50 Commits

Author SHA1 Message Date
Maja Frydrychowicz
35989a78ba
fix: set revision based on PUPPETEER_PRODUCT (#5643) 2020-04-15 13:30:42 +02:00
Jack Franklin
262da92bbb
chore(test): re-enable Firefox testing on CI (#5608) 2020-04-08 12:18:29 +02:00
Jack Franklin
83d9d530ca
chore: update CI to run Travis + Linux + Chromium (#5583)
Our CI build has been incredibly flaky across all three of our current CIs:

* Appveyor: Chromium + Windows
* Travis: Firefox + Linux, Chromium + Linux
* Cirrus: Chromium + Linux, Chromium + Mac

Legitimate issues and errors have been missed because it's expected that the CI is red and therefore it's not seen as an issue when a PR's build fails.

We should have a build that covers the full combo of browsers and operating systems but it's more important to have a consistent, reliable green build where failures are genuine. So this commit strips our CI back to Chromium on Linux on Travis, and nothing more. Once this is stable we will expand out into more operating systems and bring back Firefox, too.
2020-04-08 11:38:07 +02:00
Jack Franklin
8fa034bf2f
chore: remove flakiness dashboard (#5592)
We're not using it at all so might as well cut down on code in the codebase.
2020-04-06 11:55:15 +02:00
Jack Franklin
4c41421dd9
chore: run Chromium on Node.js 12 on Travis (#5582) 2020-04-03 13:22:02 +02:00
Jack Franklin
2b52b860cd
chore: remove travis-autodeploy (#5580)
We don't want to automatically publish these and this hasn't been running / working for a while anyway.
2020-04-03 12:01:54 +02:00
Changhao Han
807fbbdc20
chore: drop Node.js v8 support (#5365)
* chore: update relevant Node.js versions from 8 to 10

* chore: remove node6 and node8 folders from puppeteer-firefox ci

* fix: loosen definition for proc.stdio

* fix: update typescript version used in npm run test-types
2020-03-10 21:55:32 +01:00
Maja Frydrychowicz
0b1a9ceee2
chore: Replace Juggler with Firefox Nightly in CI (#5395)
Fixes #5150.
2020-02-20 13:57:15 +01:00
Maja Frydrychowicz
c5a72e9887 feat(launcher): add option to run Puppeteer with different browsers (#5137)
* feat: Set which browser to launch via PUPPETEER_PRODUCT

This change introduces a PUPPETEER_PRODUCT environment
variable as a first step toward using Puppeteer with
many different browsers. Setting PUPPETEER_PRODUCT=firefox, for
example, enables Firefox-specific Launcher settings.

The state is also exposed as `puppeteer.product` in the API
to support adding other product-specific behaviour as needed.

The bulk of the change is a refactoring in Launcher
to decouple generic browser start-up from product-specific
configuration.

Respecting the puppeteer-core restriction for PUPPETEER_
environment variables, lazily instantiate the Launcher
based on a `product` Puppeteer.launch option, if available.

* test: Distinguish Juggler unit tests from Firefox

The funit script is renamed to fjunit (j for Juggler, which is
used only by the experimental puppeteer-firefox package.

In contrast, the funit script now refers to running Puppeteer
unit tests against the main puppeteer package with Firefox.
To do so with Firefox Nightly, run:

`BINARY=path/to/firefox npm run funit`

A number of changes in this patch make it easier to run
Puppeteer unit tests in Mozilla's CI.
2019-11-26 10:23:19 +01:00
Mathias Bynens
11ff374ca3
chore: drop Node.js v6 support (#5045)
Node.js v6 was end-of-life'd in April, 2019, with AWS Lambda prohibiting updaets to the Node.js v6 runtime since June 30, 2019.

This makes it quite safe for us to remove the Node 6 support from the repository.
2019-10-16 17:00:20 +02:00
Andrey Lushnikov
5d2378f15b
chore(ci): fix firefox tests on Travis (#4828)
I forgot Firefox requires explicit installation.
2019-08-09 19:02:47 -07:00
Andrey Lushnikov
85bd4a874f
chore(flakiness): fix flakiness on Appveyour and Travis (#4827)
This patch fixes build URL on Appveyour and splits out
Firefox tests into a separate dashboard on Travis.
2019-08-09 18:37:43 -07:00
Andrey Lushnikov
8f5117b3eb
chore(flakiness): another travis attempt (#4826) 2019-08-09 16:15:00 -07:00
Andrey Lushnikov
d347fcbb29
chore(flakiness): add travis to flakiness dashboard (#4825)
This attempts to add flakiness dashboard for travis builds.
2019-08-09 15:46:00 -07:00
Andrey Lushnikov
54cce43aea
fix(ci): another attempt to fix puppeteer@next (#4258)
1. re-logged-in into npm
2. regenerated with:

```sh
travis encrypt <KEY> --add deploy.api_key --com --repo GoogleChrome/puppeteer
```
2019-04-08 16:06:14 -07:00
Andrey Lushnikov
0eb256b16b
fix(ci): fix builds of puppeteer@next (#4257)
Regenerated key with

```sh
travis encrypt <KEY> --add deploy.api_key --com --repo GoogleChrome/puppeteer
```
2019-04-08 14:58:29 -07:00
Andrey Lushnikov
96792793ea
chore(ci): enable firefox on travis (#3935)
References #3889
2019-02-06 16:34:38 -08:00
Joel Einbinder
f2c968fdb8 chore(types): generate our own d.ts file from api.md (#3744)
Generate `//index.d.ts` file with precise typescript definitions for all of the
Puppeteer API.
2019-01-28 15:12:45 -08:00
Andrey Lushnikov
02ae552ac4
chore(ci): another sad attempt to fix travis deployment (#3769)
Apparently all the issues happen because we switched from travis.org
to travis.com. So this enctryption key was generated with:

```sh
travis encrypt <KEY> --add deploy.api_key --com --repo
GoogleChrome/puppeteer
```
2019-01-14 15:50:51 -08:00
Andrey Lushnikov
7daeafc69b
chore(ci): yet another attempt to fix travis auto-deployment (#3768) 2019-01-14 15:31:04 -08:00
Andrey Lushnikov
81cf579275
chore(ci): another attempt to fix travis autopublish (#3759) 2019-01-11 22:28:25 -08:00
Andrey Lushnikov
f933f5971f
chore(ci): attempt to fix travis (#3758) 2019-01-11 17:01:01 -08:00
Andrey Lushnikov
eb7bd9d7d3
test: setup sandbox on linux (#3530)
Drop all the `--no-sandbox` bits from tests and infrastructure. Instead, configure
Travis to enable user namespace clone.
2018-11-12 23:26:16 -08:00
Andrey Lushnikov
6ec3ce6920
chore: make sure Puppeteer bundling works (#3239)
This patch:
- adds "browser" field to the package.json with default
  bundling options.
- introduces "bundle" and "unit-bundle" commands to
  create bundle and test bundle
- starts running bundle tests on Travis Node 8 bots

Fixes #2374.
2018-09-13 20:08:51 +01:00
Andrey Lushnikov
78ebf401c2
chore(ci): move all CI from Node7 to Node8 (#2938)
Node 8 is the current LTS. We should use it by default on all
our CIs.
2018-07-26 16:27:11 -07:00
Andrey Lushnikov
5b1898785b
chore(ci): yet another attempt to fix pptr@next (#2940)
References #2925.
2018-07-23 17:04:16 -07:00
Andrey Lushnikov
1d5f52e2fc
chore(ci): fix auto-publish to travis (#2931)
Fixes #2925.
2018-07-20 17:28:46 -07:00
Andrey Lushnikov
8f5ecf50c6
chore(ci): fix auto-publish to travis (#2930)
Fixes #2925.
2018-07-20 17:07:57 -07:00
Andrey Lushnikov
6bc9877571 chore(CI): disable email notifications (#2412) 2018-04-19 13:27:37 -07:00
Fedor Korotkov
fc7e4d1065 chore(CI): fix node.js version on Travis and AppVeyor (#2180)
AppVeyour was configured to use the latest versions of Node for major releases. To make builds more reproducible I've changed both Travis and AppVeyor to use the same fixed versions of Node 6 and Node 7 that AppVeyor is using at the moment.
2018-03-13 07:44:14 -07:00
JoelEinbinder
f2b6016354 chore: switch to npm from yarn (#1878)
This patch:
- migrates CI to use NPM
- drops lockfiles (`yarn.lock`). Lockfiles are ignored by package
  managers when the package is installed as a dependency, so this makes CI closer to the 
  installation our clients run.
2018-01-22 17:11:10 -08:00
JoelEinbinder
bd73e4b7b8 chore: use unique version for puppeteer@next (#1688)
This patch starts amending package.json with a unique puppeteer@next version
so that it gets published on npm.
2017-12-28 17:19:13 -08:00
Andrey Lushnikov
16dc037fc0
chore: update credentials for puppeteer@next auto-deploy (#1685) 2017-12-28 14:49:27 -08:00
JoelEinbinder
4f6d3954cd chore: puppeteer@next attempt 2 (#1677)
This patch:
- removes the "tags: true" field, we want to publish every commit
- makes sure we publish from node7 only
- prebuilds node6 before publishing
2017-12-28 10:40:38 -08:00
JoelEinbinder
e7bcc05554 chore: push successful travis builds to npm as puppeteer@next (#1671) 2017-12-27 18:19:48 -07:00
Andrey Lushnikov
f19e2ade0d
feat(install): build node6 support when installing from github (#1562)
This patch starts building node6 support if puppeteer is installed from
github directly and is run under Node 6.
2017-12-08 16:53:12 -08:00
Andrey Lushnikov
e6725e15af
tests: drop jasmine test runner (#1519)
This patch introduces a tiny test runner to run puppeteer tests.
The test runner is self-container and allows parallel (wrt IO) test execution.
It will also allow us to split tests into multiple files if necessary.

Comparing to the jasmine, the testrunner supports parallel execution, properly
handles "unhandled promise rejection" event and signals.

Comparing to ava/jest, the testrunner doesn't run multiple node processes,
which makes it simpler but sufficient for our goals.
2017-12-07 16:37:22 -08:00
Andrey Lushnikov
f08f33458f
test: validate headless reading cookies written by headful (#1266)
This test ensures that Chrome Headless can successfully read cookies written
by Chrome Headful.

References #921
2017-11-03 00:02:41 -07:00
Andrey Lushnikov
0e4477acf7 chore(travis): explicitly define node version in .travis.yml (#1069) 2017-10-17 15:02:09 -07:00
Andrey Lushnikov
dc4c8786e3 chore(doclint): fix doclint tests (#941)
Last commit 017429eef1 broke doclint
tests. Try bots didn't catch this because they were not running doclint
tests.

This patch:
- fixes doclint tests
- starts running doclint tests on travis
2017-10-02 15:14:57 -07:00
Andrey Lushnikov
69e707a2b7 Build node6 before running tests for it (#757)
Fix #756
2017-09-11 18:03:51 -07:00
JoelEinbinder
cd81944e66 Test node6 on travis (#551)
This patch starts running all puppeteer tests with node6 on travis-ci.
2017-08-25 19:28:49 -07:00
Andrey Lushnikov
e8f8a1ad1f Kill PhantomShim. (#533)
This patch kills PhantomShim, a lightweight layer that helped to
bootstrap Puppeteer API.

At this point, PhantomShim:
- passes 139 phantomJS tests
- fails 13 tests
- lacks capabilities to run 26

The failings and unsupported tests don't have any value for Puppeteer
API, so it doesn't make sense to maintain PhantomShim any longer.
2017-08-25 15:15:34 -07:00
JoelEinbinder
9212863b92 Node 6 support (#484)
This patch:
- introduces a transpiler which substitutes async/await logic with
generators.
- starts using the transpiler to generate a node6-compatible version of puppeteer
- introduces a runtime-check to decide which version of code to use

Fixes #316.
2017-08-24 12:20:05 -07:00
Andrey Lushnikov
47a0366b16 Fix typo in coverage
This patch:
- fixes typo in coverage
- enables coverage on Travis CI

References #50.
2017-07-27 16:35:17 -07:00
Andrey Lushnikov
5e94d66c38 Update libssn3 via .travis.yml
References #33.
2017-06-21 14:11:52 -07:00
Andrey Lushnikov
aaefec7868 Fix Travis-Ci tests
It turned out that the tip-of-tree chromium fails to start on Travis
because of two reasons:
- inability to run LinuxSUIDSandbox
- libnss3 library version being too small

Both problems happen because of the outdated "trusty" distribution
which is used on travis.

This patch:
- reverts the previous patch 9e6f779. Instead of introducing such
  a weird "api", both phantom_shim/runner.js and test/test.js no
  explicitly pass '--no-sandbox' flag to the browser
- updates the libnss3 lib on travis

Fixes #33
2017-06-21 14:11:52 -07:00
Andrey Lushnikov
7874108fda Fix running on Travis-Ci 2017-06-21 14:11:52 -07:00
Paul Irish
a66480a416 Fix ESLint failures (#34)
References #33
2017-06-21 14:11:52 -07:00
Paul Irish
a033b1b7ac Add travis config (#29)
This patch: 
- adds travis
- adds eslint as required in devdeps
- cleans up travis yml
2017-06-21 14:11:52 -07:00