upstream_project_url: https://github.com/cockpit-project/cockpit issue_repository: https://github.com/cockpit-project/cockpit specfile_path: cockpit.spec actions: # create-archive does not work with multiple sources, so do the spec mangling ourselves post-upstream-clone: # we already build a spec file with correct Version, so extract it - | bash -exc ' mapfile -t TARBALLS < <(tools/make-dist) # Extract spec file from main tarball (first in array) tar -xJf "${TARBALLS[0]}" --wildcards "*/tools/cockpit.spec" --strip-components=2 # Move all tarballs to current directory for packit mv "${TARBALLS[@]}" . ' fix-spec-file: # packit needs local file names, not URLs - sed -i 's|^\(Source[0-9]*:\s*\).*\/|\1|' cockpit.spec srpm_build_deps: - automake - asciidoctor - gcc - gettext - glib2-devel - jq - make - nodejs - systemd-devel # use the nicely formatted release NEWS from our upstream release, instead of git shortlog copy_upstream_release_description: true jobs: - job: tests identifier: self trigger: pull_request targets: &test_targets fedora-43: {} fedora-44: {} fedora-45: {} fedora-latest-aarch64: {} fedora-rawhide: {} fedora-eln-x86_64: {} centos-stream-9-x86_64: distros: ["centos-stream-9", "CentOS-Stream-9-image-mode"] centos-stream-9-aarch64: {} centos-stream-10-x86_64: distros: ["centos-stream-10", "CentOS-Stream-10-image-mode"] # current Fedora runs reverse dependency testing against https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/ - job: tests identifier: revdeps trigger: pull_request targets: - fedora-latest-stable tf_extra_params: environments: - artifacts: - type: repository-file id: https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/repo/fedora-$releasever/group_cockpit-main-builds-fedora-$releasever.repo tmt: context: revdeps: "yes" # run build/unit tests on test targets - job: copr_build trigger: pull_request targets: *test_targets # run extra build/unit tests on some interesting architectures - job: copr_build trigger: pull_request targets: # big-endian - fedora-latest-stable-s390x # for cross-project testing - job: copr_build trigger: commit branch: "^main$" owner: "@cockpit" project: "main-builds" preserve_project: True # testing changes to this: # 1. Create a personal COPR, and change owner/project below # 2. Make a temporary commit that: # - disables all jobs except "source" from .github/workflows/release.yml # - drops copr_build/commit, propose_downstream, and bodhi_update from packit.yaml # - sets upstream_project_url/issue_repository at the top to your fork # - updates Source0/1: in tools/cockpit.spec to your fork # 3. Commit your adjustments. Push your changes to your fork's main branch # 4. Tag and push a release to your fork. Replace the `my` remote with your fork: # R=362.99; git tag -d $R; git push my :$R; git tag -s -F /tmp/tagmsg $R; git push my -f; git push my $R # 5. The initial release will fail. Wait for the "packit is requesting # permissions change" email, and grant it in your COPR's Settings → Permissions # 6. Iterate (step 3.) and re-tag (step 4). - job: copr_build trigger: release owner: "@cockpit" project: "cockpit-preview" preserve_project: True # Don't rebuild the tarball for official releases (https://github.com/packit/packit-service/issues/1505) actions: # the PACKIT_* variables are not yet set here; this just needs to create the declared specfile_path post-upstream-clone: - cp tools/cockpit.spec . fix-spec-file: # Don't rebuild the tarball for official releases (https://github.com/packit/packit-service/issues/1505) - bash -c "curl -L --fail -O https://github.com/cockpit-project/${PACKIT_UPSTREAM_PACKAGE_NAME}/releases/download/${PACKIT_PROJECT_VERSION}/${PACKIT_PROJECT_NAME_VERSION}.tar.xz" - bash -c "curl -L --fail -O https://github.com/cockpit-project/${PACKIT_UPSTREAM_PACKAGE_NAME}/releases/download/${PACKIT_PROJECT_VERSION}/${PACKIT_UPSTREAM_PACKAGE_NAME}-node-${PACKIT_PROJECT_VERSION}.tar.xz" # Extract the correct spec from the release (with correct Version and NPM Provides:) - bash -c "tar -xJf cockpit-${PACKIT_PROJECT_VERSION}.tar.xz cockpit-${PACKIT_PROJECT_VERSION}/tools/cockpit.spec --strip-components=2" - job: propose_downstream trigger: release # Don't rebuild the tarball for official releases (https://github.com/packit/packit-service/issues/1505) actions: # the PACKIT_* variables are not yet set here; this just needs to create the declared specfile_path post-upstream-clone: - cp tools/cockpit.spec . post-modifications: - | bash -exc ' # for debugging of official runs, CLI is different from packit service env | grep PACKIT tar -xJf "${PACKIT_DOWNSTREAM_REPO:-${PACKIT_UPSTREAM_REPO}}/cockpit-${PACKIT_PROJECT_VERSION}.tar.xz" "cockpit-*/runtime-npm-modules.txt" --strip-components=1 tools/fix-spec "${PACKIT_DOWNSTREAM_REPO:-${PACKIT_UPSTREAM_REPO}}/cockpit.spec" ' dist_git_branches: - fedora-development - fedora-43 - fedora-44 - fedora-45 - job: koji_build trigger: commit dist_git_branches: - fedora-development - fedora-43 - fedora-44 - fedora-45 - job: bodhi_update trigger: commit dist_git_branches: # rawhide updates are created automatically - fedora-branched