Skip to content
Snippets Groups Projects
  1. Apr 23, 2023
  2. Apr 18, 2023
  3. Mar 22, 2023
    • Erich Gubler's avatar
      Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI... · 59905b61
      Erich Gubler authored
      Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI r=webgpu-reviewers,taskgraph-reviewers,jmaher,jimb
      
      Vendor in WebGPU CTS so that we can run it against our implementation of WebGPU. This patch includes:
      
      1. Some linting configuration tweaks, to silence issues that weren't straightforward to fix in CTS upstream.
      2. Some WPT runner configuration to enable preferences, and skip MacOS testing altogether (since it's not targeted by our current work).
      3. A new Rust binary crate that, when run from a development environment:
          1. Creates a vendored copy of WebGPU CTS in `<gecko>/dom/webgpu/tests/cts/checkout/`.
          2. Generates private Web Platform Tests (see also `<gecko>/testing/web-platform/docs/index.rst`). To do this, we:
              1. Use upstream test generation via `npm` scripts, which creates a single `cts.https.html` file with thousands of variants.
              2. Chunk the `cts.https.html` file into parts that Taskcluster can distribute without timing out individual jobs. IMO, this is the most likely part of these changes to need further iteration, because:
                  1. We currently naively divide tests by number of variant, and have made no effort to empirically prove that we're dividing execution time of chunks.
                  2. There is currently no stability in the distribution of tests per chunk. Test variants are essentially a flattened list of the tree structure used to organize tests. Adding a few tests that end up being placed in the middle of the list can cause the chunk with new tests _and all subsequent chunks_ to have their contents changed, which will probably cause a disproportionate number of line changes to review.:
              3. Fix `script` tag(s) so they actually work with the WPT test runner for private tests (viz., in the `testing/web-platform/mozilla` directory).
      
      The output of the new vendoring binary is designed make the above steps transparent. N.B. that no actual vendoring in of files has happened yet; the next patch will add the results of running this script.
      
      Differential Revision: https://phabricator.services.mozilla.com/D169951
      59905b61
  4. Mar 20, 2023
    • Andrew Halberstadt's avatar
      Bug 1811850 - [lint] Replace flake8 linter with ruff, r=linter-reviewers,sylvestre · dd673c2f
      Andrew Halberstadt authored
      Ruff is a very fast linter implemented in Rust and it can act as a drop-in
      replacement for flake8. When running the same set of rules across all files
      in mozilla-central (without mozlint), flake8 takes 900 seconds whereas ruff
      takes 0.9 seconds.
      
      Ruff also implements rules from other popular Python linters such as pylint,
      isort and pyupgrade. There are even plans to implement feature parity with
      black in the future. Ultimately, it can become our one stop shop for all Python
      linting and formatting.
      
      This stack will swap out all our Python lint tools for ruff (excluding black
      for now).
      
      Differential Revision: https://phabricator.services.mozilla.com/D172313
      dd673c2f
  5. Mar 17, 2023
  6. Mar 16, 2023
  7. Mar 15, 2023
    • Erich Gubler's avatar
      Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI... · af02a854
      Erich Gubler authored
      Bug 1720941, part 1: build(ci): integrate WebGPU CTS into CI r=webgpu-reviewers,taskgraph-reviewers,jmaher,jimb
      
      Vendor in WebGPU CTS so that we can run it against our implementation of WebGPU. This patch includes:
      
      1. Some linting configuration tweaks, to silence issues that weren't straightforward to fix in CTS upstream.
      2. Some WPT runner configuration to enable preferences, and skip MacOS testing altogether (since it's not targeted by our current work).
      3. A new Rust binary crate that, when run from a development environment:
          1. Creates a vendored copy of WebGPU CTS in `<gecko>/dom/webgpu/tests/cts/checkout/`.
          2. Generates private Web Platform Tests (see also `<gecko>/testing/web-platform/docs/index.rst`). To do this, we:
              1. Use upstream test generation via `npm` scripts, which creates a single `cts.https.html` file with thousands of variants.
              2. Chunk the `cts.https.html` file into parts that Taskcluster can distribute without timing out individual jobs. IMO, this is the most likely part of these changes to need further iteration, because:
                  1. We currently naively divide tests by number of variant, and have made no effort to empirically prove that we're dividing execution time of chunks.
                  2. There is currently no stability in the distribution of tests per chunk. Test variants are essentially a flattened list of the tree structure used to organize tests. Adding a few tests that end up being placed in the middle of the list can cause the chunk with new tests _and all subsequent chunks_ to have their contents changed, which will probably cause a disproportionate number of line changes to review.:
              3. Fix `script` tag(s) so they actually work with the WPT test runner for private tests (viz., in the `testing/web-platform/mozilla` directory).
      
      The output of the new vendoring binary is designed make the above steps transparent. N.B. that no actual vendoring in of files has happened yet; the next patch will add the results of running this script.
      
      Differential Revision: https://phabricator.services.mozilla.com/D169951
      af02a854
  8. Feb 28, 2023
  9. Feb 25, 2023
  10. Feb 13, 2023
  11. Jan 27, 2023
  12. Jan 26, 2023
  13. Jan 23, 2023
    • Hanna Jones's avatar
      Bug 1799699 - expand storybook args table docs r=mstriemer,tgiles · eb9fd58f
      Hanna Jones authored
      This is still far from perfect given the limitations of the Storybook web components package, but I figured this was worth putting up since it's still an improvement over the current state of our args tables (I think).
      
      I'm mostly leaving the default generated `custom-elements-manifest.json` alone save for filtering some internal properties we don't want documented since they shouldn't really be accessed directly. If it seems too strange to just have the `aria-label` attr documented we could possibly remove `attributes` from the docs for now (this happens because it's the only attr where the name is different from the property name).
      
      Open to feedback/thoughts on if this is useful or too wonky for now given the weirdness around how Storybook creates naming collisions.
      
      Differential Revision: https://phabricator.services.mozilla.com/D162599
      eb9fd58f
    • Michael Froman's avatar
      Bug 1809569 - pt1 - add new fast-forward state directory. r=ng DONTBUILD · abc1e98d
      Michael Froman authored
      - automatically create state directory (.moz-fast-forward) under top level or repo if missing
      - automatically create log and tmp subdirectories if missing
      - only execute use_config_env.sh once in nested scripts
      - move default location for config_env under state directory
      
      Differential Revision: https://phabricator.services.mozilla.com/D166492
      abc1e98d
  14. Jan 17, 2023
  15. Dec 28, 2022
  16. Dec 21, 2022
    • Mark Striemer's avatar
      Bug 1804969 - Rewrite chrome:// JS imports in Storybook r=mconley,hjones · 4a7f86bf
      Mark Striemer authored
      This patch will rewrite all chrome:// URLs in .mjs files, but it isn't
      emitting proper URLs for assets. This means that JS imports will map
      correctly, but any img/css references won't have a valid path outside of
      local development and CSS files that use @import will not resolve imports
      correctly.
      
      To reference images and CSS files you will still need to ensure those files
      are in the Storybook static path and use a separate URL to reference them
      in the `window.IS_STORYBOOK` case.
      
      Differential Revision: https://phabricator.services.mozilla.com/D165060
      4a7f86bf
  17. Dec 07, 2022
  18. Nov 23, 2022
  19. Nov 16, 2022
  20. Nov 03, 2022
  21. Oct 27, 2022
  22. Sep 27, 2022
  23. Aug 31, 2022
  24. Aug 23, 2022
  25. Jul 11, 2022
  26. May 25, 2022
  27. Apr 27, 2022
  28. Mar 31, 2022
  29. Mar 16, 2022
  30. Mar 11, 2022
  31. Jan 25, 2022
Loading