... and make use of the new pywrap feature from our test.
Use the same eslint and stylelint plugin configuration as the cockpit
main repo.
Co-authored-by: Katerina Koukiou <kkoukiou@redhat.com>
Cockpit recently changed to an ESM build system [1]. Bump
COCKPIT_REPO_COMMIT to that and follow suit.
This does not work with old node.js 10 any more which is still the
default in RHEL 8. Install the newer version 16 instead.
[1] https://github.com/cockpit-project/cockpit/pull/18366
/usr is package manager territory, and not even writable on OSTree based
systems such as Fedora CoreOS or RHEL Edge. This has been common and
good practice in autotools for decades.
You can still override this with `make install PREFIX=...`. Use that in
the RPM spec file.
- 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.
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.
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.
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.
Disable the printing of the echo commands that write the filename of the
VM image for tests in the 'vm' and 'print-vm' targets.
This makes it possible to use their outputs, especially the 'print-vm'
target.
run-tests recently got a new `--track-naughties` option [1] to explicitly
enable updating known issues on GitHub. Enable it for CI runs, and leave
it disabled for local runs and PackIt, as in these cases we don't want
to try and talk to GitHub.
[1] 7ef88e80ce
Add a simple convenience target to "undo" what the devel-install did
(creating a symlink to ~/.local/share/cockpit), i.e. simply removing
that symlink.
Suggested by: Christopher Snyder
Add a simple convenience target that prints the filename of the test
image without creating it beforehand. This can be useful to know what is
the expected filename, so it is possible to provide an own test image
instead of the generated one.
When creating the tarballs for sources and node modules, apply some
hardening to the tar compression to remove some variances that may cause
the tarballs to not be reproducible; in particular:
- set fixed modes, and ownership
- set the mtime from the author's timestamp of the top-level commit
- sort the files by name
Cockpit's PF/React/build library (pkg/lib from cockpit.git) is checked
out as src/lib, so exclude it from the search of js/jsx, and html
sources for the extraction of i18n messages.
This avoids the cockpit messages in case the message extraction is
performed in a source tree after build.
Add a simple 'srpm' target that builds the src.rpm file for the current
project.
Partially reverts commit b2662eeebd (at
least to bring the 'srpm' target back).
Drop the image-customize `--verbose` option. mock is incredibly blabbery
about its internals otherwise, and seeing the build log isn't
particularly interesting.