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 mkdir -p ~/.local/share/cockpit
ln -s `pwd`/dist ~/.local/share/cockpit/$(PACKAGE_NAME) ln -s `pwd`/dist ~/.local/share/cockpit/$(PACKAGE_NAME)
print-version:
@echo "$(VERSION)"
dist-gzip: $(TARFILE) dist-gzip: $(TARFILE)
@ls -1 $(TARFILE)
# when building a distribution tarball, call webpack with a 'production' environment # 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 # 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 install
env -u NODE_ENV npm prune 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 bigger, or gets frequent changes, you may need to move to a paid account, or
different infrastructure with more capacity. 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 # Customizing
After cloning the Starter Kit you should rename the files, package names, and 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