Commit Graph

32 Commits

Author SHA1 Message Date
Max Schmitt
293c85935a
devops: publish using NPM provenance feature (#27459)
As per
https://docs.npmjs.com/generating-provenance-statements#publishing-packages-with-provenance-via-github-actions.

We use Node.js 18 (LTS) to get NPM 9+.

Closes https://github.com/microsoft/playwright/issues/22555
2023-10-05 20:00:18 +00:00
Patrick Shaw
6e78dcb7dc
fix: Allow portable bash paths for systems including NixOS (#23889)
Although very common, bash is not guaranteed to be located at
`/bin/bash`. NixOS is an example of this.

More commonly, `/bin/bash` can be quite out of date. An example of this
is MacOS's version of `bash`. This realistically won't affect Playwright
but it's worth noting. You can technically update MacOS's system version
of bash but you need elevated permissions to do so.

By using `/usr/bin/env bash` instead of `/bin/bash` we can execute
Playwright's bash scripts in like NixOS and generally improve the
selection behaviour for bash in other systems too.

Some discussion of why it's worth favouring `/usr/bin/env bash` over
`/bin/bash`:
- Discusses `/bin/bash` missing in NixOS:
https://discourse.nixos.org/t/add-bin-bash-to-avoid-unnecessary-pain/5673
- Some general commentary on why `/usr/bin/env bash` is favoured:
https://askubuntu.com/a/1402721
- Points out how old bash is in MacOS:
https://itnext.io/upgrading-bash-on-macos-7138bd1066ba

Improves situation at #5501
2023-07-03 06:27:06 -07:00
Andrey Lushnikov
b1aa295923
devops: fix canary publishing (#14746)
The first time a scoped package is published, it is considered to be
private.

See https://stackoverflow.com/a/44862841/314883
2022-06-09 07:22:05 -07:00
Andrey Lushnikov
39ed705904
chore: unify workspace helper scripts (#11925)
This patch unifies a variety of different workspace
scripts into a single `//utils/workspace.js`.

Fixes #11362
2022-02-08 10:35:00 -08:00
Joel Einbinder
d8abb18c57
chore: allow private build-only packages (#10893) 2021-12-13 15:37:41 -08:00
Andrey Lushnikov
32bc83d322
chore: be on the safe side with publishing release candidate (#10363)
Make sure we never publish any other version that contains `rc`
as part of the version.

References #10334
2021-11-16 15:38:14 -08:00
Andrey Lushnikov
6904d6c7e6
chore: support release candidate publishing (#10360)
Fixes #10334
2021-11-16 14:28:34 -08:00
Andrey Lushnikov
e26a722d23
devops: fix publishing @next versions (#9963)
This patch:

- removes the "is this upstream check?" when publishing daily version
- fixes the bug when manually triggered builds were pushed under @beta
  tag

Drive-by: rename "tip-of-tree" flag to "next" for consistency.
2021-11-02 02:35:03 -07:00
Max Schmitt
96d611ed7d
devops: publish devrelease:npm to beta on release branches (#9949)
Co-authored-by: Andrey Lushnikov <aslushnikov@gmail.com>
2021-11-01 17:29:56 -07:00
Max Schmitt
60939a91b2
devops: release create-playwright over publish infra (#9683) 2021-10-22 10:13:49 +02:00
Max Schmitt
f884103b62 devops: do not publish create-playwright pkg 2021-10-11 17:24:05 +02:00
Max Schmitt
4ae3a07a75 devops: allow dirty tree when publishing ToT release 2021-10-11 17:13:21 +02:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00
Dmitry Gozman
3de3a88930
feat(test): introduce npx playwright test (#6816) 2021-06-03 08:07:55 -07:00
Andrey Lushnikov
1240dd48cb
devops: start publishing canary at midnight every day (#5343)
This patch:
- starts publishing canary NPM package at 00:10AM UTC
- canary version is published from default (`master`) branch and is 
  named with a date. E.g. for a version published on Feb 5, 2021, the
  version would be `1.8.0-alpha-feb-5-2021`
- versions from release branches are still published on every commit and have the 
  regular commit timestamp suffix
2021-02-09 14:28:04 -08:00
Andrey Lushnikov
8ad7318119
devops: fix publish script to return code zero when tip-of-tree moved (#5123) 2021-01-23 04:09:37 +03:00
Dmitry Gozman
0d0a6e8f82
devops: update publish script to work for @next (#5072) 2021-01-20 13:38:03 -08:00
Dmitry Gozman
a7949173e0
devops: always check git status before publishing to npm (#5070) 2021-01-20 13:08:51 -08:00
Andrey Lushnikov
8b9be6bbbe
devops: fix publishing of @next packages to NPM (#3759)
This patch:
- stop relying on stdout from `//packages/build_package.js` to get
output paths. This was a legacy code that's not needed anymore
- remove stray output from `//packages/build_package.js`
2020-09-03 11:59:58 -07:00
Andrey Lushnikov
4f05039944
devops: do not fail check when refusing to publish TOT revision (#3443) 2020-08-13 10:39:45 -07:00
Andrey Lushnikov
3c84e9ec3a
devops: enable canary publishing (#2335) 2020-05-21 16:56:57 -07:00
Andrey Lushnikov
505d94ab1a
chore: drop dependency on playwright-core in all our packages (#2318)
This patch:
- drops dependency on playwright-core in all our packages. Instead of
  the dependency, packages are now built with `//packages/build_package.sh`
  script.
- unifies `browsers.json` - now there's a single `//browsers.json` file
  that is used to manage browser revisions.

This patch temporary switches canary publishing to `--dryn-run` from CI/CD so that we
can verify that it does sane things.

We'll unify all our package management scripts under `//packages/` in a
follow-up.

Fixes #2268
2020-05-21 13:18:15 -07:00
Andrey Lushnikov
511883d3f0
devops: fix checking if branch is tip-of-tree when publishing @next (#1926)
This should fix publishing @next from release branches.
2020-04-22 17:02:38 -07:00
Andrey Lushnikov
96331de1f1
devops: start actually publishing @next versions for tip-of-tree commits (#1893)
The https://github.com/microsoft/playwright/runs/603719537 was pretty
successful.
2020-04-20 23:52:03 -07:00
Andrey Lushnikov
ac8a30c526
devops: start releasing from Github Actions (#1890)
This patch:
- removes releasing from Travis CI
- sets up a new GH Action that releases @next version from tip-of-tree

Once this GH Action proves to be working, we'll setup a `publish_release.yml`
workflow that will be triggered only by **release** github events
and that will publish released version with `LATEST` tag.

NOTE: this workflow does not actually run publishing - we're doing
`--dry-run` for now to see how it works in
`//utils/publish_all_packages.sh`.
2020-04-20 17:45:29 -07:00
Andrey Lushnikov
019eaa4470 chore(ci): different attempt to publish on Travis 2020-03-02 19:00:47 -08:00
Andrey Lushnikov
01888897b7 chore(ci): fix publish_all_packages.sh on travis 2020-03-02 18:53:57 -08:00
Andrey Lushnikov
64e5e213d8 chore(ci): forcefully login NPM on CI if NPM_AUTH_TOKEN is set 2020-03-02 18:38:39 -08:00
Andrey Lushnikov
a40f562662 chore(ci): add debug info for publish_all_packages 2020-03-02 18:35:04 -08:00
Andrey Lushnikov
497a74d8e2 chore(ci): fix publishing @next on travis 2020-03-02 18:26:45 -08:00
Andrey Lushnikov
62e2570e67 chore: fix utils/apply_next_version.js 2020-03-02 18:17:16 -08:00
Andrey Lushnikov
57c45f0d1f
fix: properly publish all packages on travis (#1187) 2020-03-02 17:40:48 -08:00