Skip to content

Commit

Permalink
playwright-test: package with buildNpmPackage
Browse files Browse the repository at this point in the history
  • Loading branch information
kalekseev committed Apr 9, 2024
1 parent fdf0205 commit 4fd5530
Show file tree
Hide file tree
Showing 8 changed files with 99 additions and 792 deletions.
99 changes: 99 additions & 0 deletions pkgs/by-name/pl/playwright-test/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
{ buildNpmPackage, fetchFromGitHub, cacert, nodejs }:

let
version = "1.43.0";

src = fetchFromGitHub {
owner = "Microsoft";
repo = "playwright";
rev = "v${version}";
hash = "sha256-AE0Qk5ZmZ43QhTWHkcS5oAuqmW+NvDxUHqmYyyVSBt4=";
};

babel-bundle = buildNpmPackage {
pname = "babel-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/babel";
npmDepsHash = "sha256-WzbgHBqiQjwDcFmEK8V22/ax4Xu01IC+Ym5kVvWYcuY=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
expect-bundle = buildNpmPackage {
pname = "expect-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/expect";
npmDepsHash = "sha256-jNrFQ6BcMsVdEyB2ATFH4wRNb12v4w1kXo6rVv6rzAw=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
utils-bundle = buildNpmPackage {
pname = "utils-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright/bundles/utils";
npmDepsHash = "sha256-I51RX4BGlLjmkSP34cVUcKo9l5PdHskwN/zsljjkcC4=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
utils-bundle-core = buildNpmPackage {
pname = "utils-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright-core/bundles/utils";
npmDepsHash = "sha256-pq0D+Ajxp59Dy787XtKprt5zQObgGWaD3CWWWf6u4ec=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};
zip-bundle = buildNpmPackage {
pname = "utils-bundle";
inherit version src;
sourceRoot = "${src.name}/packages/playwright-core/bundles/zip";
npmDepsHash = "sha256-62Apz8uX6d4HKDqQxR6w5Vs31tl63McWGPwT6s2YsBE=";
dontNpmBuild = true;
installPhase = ''
cp -r . "$out"
'';
};

in
buildNpmPackage {
pname = "playwright-test";
inherit version src;

npmDepsHash = "sha256-ShpL9I1321OWPOXixdNlYJ6qKMF4yBOJx1OtJCPOPI4=";

nativeBuildInputs = [
cacert
];

postPatch = ''
sed -i '/\/\/ Update test runner./,/^\s*$/{d}' utils/build/build.js
sed -i '/\/\/ Update bundles./,/^\s*$/{d}' utils/build/build.js
sed -i '/execSync/d' ./utils/generate_third_party_notice.js
sed -i '/plugins: /d' ./packages/playwright/bundles/utils/build.js
sed -i '/plugins: /d' ./packages/playwright-core/bundles/zip/build.js
chmod +w packages/playwright/bundles/babel
ln -s ${babel-bundle}/node_modules packages/playwright/bundles/babel/node_modules
chmod +w packages/playwright/bundles/expect
ln -s ${expect-bundle}/node_modules packages/playwright/bundles/expect/node_modules
chmod +w packages/playwright/bundles/utils
ln -s ${utils-bundle}/node_modules packages/playwright/bundles/utils/node_modules
chmod +w packages/playwright-core/bundles/utils
ln -s ${utils-bundle-core}/node_modules packages/playwright-core/bundles/utils/node_modules
chmod +w packages/playwright-core/bundles/zip
ln -s ${zip-bundle}/node_modules packages/playwright-core/bundles/zip/node_modules
'';
installPhase = ''
cp -r packages/playwright "$out"
mkdir -p "$out/node_modules/playwright-core"
cp -r packages/playwright-core/{package.json,browsers.json,index.js,cli.js,lib} "$out/node_modules/playwright-core"
mkdir -p "$out/bin"
makeWrapper "${nodejs}/bin/node" "$out/bin/playwright" --add-flags "$out/cli.js"
'';
}
3 changes: 0 additions & 3 deletions pkgs/development/python-modules/playwright/update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ set -euo pipefail

root="$(dirname "$(readlink -f "$0")")"
driver_file="$root/../../web/playwright/driver.nix"
playwright_test="$root/../../web/playwright-test"

version=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s https://api.github.com/repos/microsoft/playwright-python/releases/latest | jq -r '.tag_name | sub("^v"; "")')

Expand All @@ -30,6 +29,4 @@ replace_sha "aarch64-darwin" "$(fetch_driver_arch "mac-arm64")"

# Update the version stamps
sed -i "s/version =\s*\"[^\$]*\"/version = \"$driver_version\"/" "$driver_file"
sed -i "s/\"@playwright\/test\": \"[^\$]*\"/\"@playwright\/test\": \"$driver_version\"/" "$playwright_test/node-packages.json"
(cd "$playwright_test"; node2nix -i node-packages.json)
update-source-version playwright "$version" --rev="v$version"
17 changes: 0 additions & 17 deletions pkgs/development/web/playwright-test/default.nix

This file was deleted.

Loading

0 comments on commit 4fd5530

Please sign in to comment.