packit: Enable RPM builds and Fedora testing

Teach `make dist-gzip` to print the tarball name as last line, and use
it as `create-archive` action.

Add a `make print-version` command which packit can use. The builtin
default only works if there is at least one git tag, which is not the
case for starter-kit (which is never released).
This commit is contained in:
Martin Pitt 2021-03-04 07:30:37 +01:00 committed by Martin Pitt
parent 09823650e2
commit a26f4048c2
3 changed files with 34 additions and 1 deletions

View file

@ -75,7 +75,11 @@ devel-install: $(WEBPACK_TEST)
mkdir -p ~/.local/share/cockpit
ln -s `pwd`/dist ~/.local/share/cockpit/$(PACKAGE_NAME)
print-version:
@echo "$(VERSION)"
dist-gzip: $(TARFILE)
@ls -1 $(TARFILE)
# when building a distribution tarball, call webpack with a 'production' environment
# we don't ship node_modules for license and compactness reasons; we ship a
@ -162,4 +166,4 @@ $(NODE_MODULES_TEST): package.json
env -u NODE_ENV npm install
env -u NODE_ENV npm prune
.PHONY: all clean install devel-install dist-gzip srpm rpm check vm update-po
.PHONY: all clean install devel-install print-version dist-gzip srpm rpm check vm update-po

View file

@ -93,6 +93,16 @@ operating systems (Fedora and CentOS 8). Note that if/once your project grows
bigger, or gets frequent changes, you may need to move to a paid account, or
different infrastructure with more capacity.
Tests also run in [Packit](https://packit.dev/) for all currently supported
Fedora releases; see the [packit.yaml](./packit.yaml) control file. You need to
[enable Packit-as-a-service](https://packit.dev/docs/packit-as-a-service/) in your GitHub project to use this.
To run the tests in the exact same way for upstream pull requests and for
[Fedora package update gating](https://docs.fedoraproject.org/en-US/ci/), the
tests are wrapped in the [FMF metadata format](https://github.com/psss/fmf)
for using with the [tmt test management tool](https://docs.fedoraproject.org/en-US/ci/tmt/).
Note that Packit tests can *not* run their own virtual machine images, thus
they only run [@nondestructive tests](https://github.com/martinpitt/cockpit/blob/master/test/common/testlib.py).
# Customizing
After cloning the Starter Kit you should rename the files, package names, and

19
packit.yaml Normal file
View file

@ -0,0 +1,19 @@
# Enable RPM builds and running integration tests in PRs through https://packit.dev/
# To use this, enable Packit-as-a-service in GitHub: https://packit.dev/docs/packit-as-a-service/
# See https://packit.dev/docs/configuration/ for the format of this file
specfile_path: cockpit-starter-kit.spec
actions:
post-upstream-clone: make cockpit-starter-kit.spec
# reduce memory consumption of webpack in sandcastle container
# https://github.com/packit/sandcastle/pull/92
# https://medium.com/the-node-js-collection/node-js-memory-management-in-container-environments-7eb8409a74e8
create-archive: make NODE_OPTIONS=--max-old-space-size=500 dist-gzip
# starter-kit.git has no release tags; your project can drop this once you have a release
get-current-version: make print-version
jobs:
- job: tests
trigger: pull_request
metadata:
targets:
- fedora-all