Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Housekeeping, fix rawhide tests #590

Merged
merged 7 commits into from
Jun 30, 2022
Merged

Conversation

martinpitt
Copy link
Member

No description provided.

Keep pkg/lib in the same location as it is in the cockpit repository,
and adjust the include path accordingly.

This makes the production of the .pot file somewhat more deterministic:
previously, it would either include or not include the strings from
pkg/lib depending on if it had been checked out or not.  Now it never
includes them.

Cherry-picked from cockpit-podman commit a70630be2139a.
Replace the two rules for test/common and pkg/lib with a single rule
based on `git-archive`, avoiding the use of racy `FETCH_HEAD` and
side-effecting `git-checkout`.  This lets us drop the `flock` call, and
introduces some logic to avoid the fetch in case we already have it.

We'll hardcode shas from here on out: it's more secure (ie:
tamperproof), and more performant (since we don't have to check the ref
if we already have the object), in addition to being easier to work with
in terms of the required git commands.

Use pkg/lib/cockpit.js as a stamp file.

This rule will make it easier to expand to more files in the future.

One drawback is that when we want to update files from the cockpit/
repository, we'll now need to do it in lock-step: using new API from
testlib will force us to adjust to PatternFly changes, for example.

Cherry-picked from cockpit-podman commit cfc05e730d6f5d.
This is not called from anywhere, and does not match the contemporary
workflow where PO files are pulled from weblate.
Use the html2po and manifest2po tools that we already check out from
cockpit repo pkg/lib.

These tools switched to a new argument parser library (`argparse`) in
cockpit-project/cockpit#16271, so add it to our package.json and drop
`stdio`.

Drop our old copies.

I checked the result of building `po/starter-kit.pot` before and after
the change, and aside from the timestamp, it's identical.

Cherry-picked from cockpit-podman commit bf53f801b17ba6.
 - Generalize NODE_MODULES_TEST comment to apply for both direct
   `npm install` and git checkouts.
 - Drop obsolete touch commands from dist tarfile build.
 - Consistently use NODE_MODULES_TEST constant.
 - Better sorting of .PHONY, and add missing prepare-check.

This reduces the diff to cockpit-podman.
It is already contained in COCKPIT_REPO_FILES.

Also fix a typo.
@martinpitt martinpitt marked this pull request as draft June 30, 2022 07:22
@martinpitt martinpitt marked this pull request as ready for review June 30, 2022 07:22
@martinpitt martinpitt merged commit 0772f2c into cockpit-project:main Jun 30, 2022
@martinpitt martinpitt deleted the testlib branch June 30, 2022 07:49
dgdavid added a commit to agama-project/agama that referenced this pull request Nov 14, 2023
It was there because cockpit-starter-kit, which dropped it a year
ago[1][2]

[1] cockpit-project/starter-kit#590
[2] cockpit-project/starter-kit@6e1fd84
dgdavid added a commit to agama-project/agama that referenced this pull request Nov 15, 2023
Another boring PR for keeping dependencies up-to-date via `npm update` and `npm install @package/name@latest`.  No more `--lockfile-version 2`  because [OBS already supports version 3](https://github.com/openSUSE/obs-service-node_modules/blob/2153192f0baf8453c12bacf7b872c0c786ed645f/node_modules.py#L342-L343) as we realized at #843

Please, note that this time we manage to get rid of some dependencies which were there because cockpit-starter-kit (see #127) but actually not needed anymore. In fact, they are no longer dependencies of starter-kit. Namely, 

* [core-js](https://github.com/zloirock/core-js)
  - As a weird side effect, few tests were _fixed_ to wait a bit for the expected content. Some black magic around _Promise.resolve_, I guess. Honestly, I didn't dig too further on it since waiting for the content is somehow _expected_.
*  [stdio](https://github.com/sgmonda/stdio)
* [sizzle](https://www.npmjs.com/package/sizzle)

Apart from these, [regenerator-runtime](https://github.com/facebook/regenerator) was dropped too because 

> It was added more than a year ago in the context of "Adapt React
> components to the Starter Kit". But probably is no longer needed since
> async functions, ES6 generators, and `yield` JavaScript operator have
> broad support among major browsers.

---

* [web] Update dependencies via `npm update`

* [web] Update icons packages to their latest version

* [web] Update Patternfly libraries to latest version

* [web] Drop core-js dependency

    It was added because of cockpit-starter-kit[1] but they already dropped
    it[2] because
    
    > starter-kit does not use it directly, and none of our derived projects
    > have it.
    
    Thus, in principle it does not make sense to keep it as Agama
dependency.
    
    As weird side-effect, a few test were fixed to "waitFor" the expeced
content.
    
    [1] 55c75c3
    [2] cockpit-project/starter-kit@67c1c06

* [web] Update fast-sort to its latest version

* [web] Update ippadr.js to its latest version

* [web] Drop regenerator-runtime dependency

    It[1] was added more than a year ago[2] in the context of "Adapt React
    components to the Starter Kit". But probably is no longer needed since
    async functions, ES6 generators, and `yield` JavaScript operator have
    broad support among major browsers.
    
    [1] https://github.com/facebook/regenerator
    [2] 55c75c3

* [web] Update sprintf-js to the latest version

* [web] Update typedoc and related dependencies

* [web] Update webpack and related dependencies

* [web] Update stylint and related dependencies

* [web] Update @babel and related dependencies

* [web] Update cspell dev dependencies

* [web] More babel dev dependencies updates

* [web] Update eslint and eslint-config dependencies

* [web] Update eslint-plugin dependencies

* [web] Update jest dependencies

* [web] Update jsdoc dependency

* [web] Update sass dependencies

* [web] Update terser-webpack-plugin

* [web] Drop stdio dev dependency

    It was there because cockpit-starter-kit, which dropped it a year
ago[1][2]

    [1] cockpit-project/starter-kit#590
    [2] cockpit-project/starter-kit@6e1fd84

* [web] Drop sizzle dev dependency

    Which came from cockpit-starter-kit. It was dropped there few months
    ago, in Jun 2023[1]
    
    [1] cockpit-project/starter-kit@1e46595

* [web] Update qunit dev dependency to latest version

* [web] Update mini-css-extract-plugin

* [web] Update ajv dev dependency

* [web] Update @testing-library dependencies

* [web] Update @typescript-eslint dependencies

* [web] Update @types/jest

* [web] Adapt FileViewer test

For waiting for the expected content

* [web] Fix NetworkPage test

    Remove a leftover it.only and make examples wait a bit for the expected
content.

* [web] Little improvement in Sidebar test

* [web] Update ProductPage test

For waiting a bit to find the expected content
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants