diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index afa8b52..a7999de 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,15 @@ /aardvark-dns-v1.9.0-vendor.tar.gz /v1.10.0.tar.gz /aardvark-dns-v1.10.0-vendor.tar.gz +/v1.11.0.tar.gz +/aardvark-dns-v1.11.0-vendor.tar.gz +/aardvark-dns-v1.12.1-vendor.tar.gz +/v1.12.1.tar.gz +/v1.12.2.tar.gz +/aardvark-dns-v1.12.2-vendor.tar.gz +/v1.13.0.tar.gz +/aardvark-dns-v1.13.0-vendor.tar.gz +/v1.13.1.tar.gz +/aardvark-dns-v1.13.1-vendor.tar.gz +/v1.14.0.tar.gz +/aardvark-dns-v1.14.0-vendor.tar.gz diff --git a/.packit.yaml b/.packit.yaml index 61e87f1..e3e0afc 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -2,9 +2,35 @@ # See the documentation for more information: # https://packit.dev/docs/configuration/ -specfile_path: rpm/aardvark-dns.spec +downstream_package_name: aardvark-dns upstream_tag_template: v{version} +# These files get synced from upstream to downstream (Fedora / CentOS Stream) on every +# propose-downstream job. This is done so tests maintained upstream can be run +# downstream in Zuul CI and Bodhi. +# Ref: https://packit.dev/docs/configuration#files_to_sync +files_to_sync: + - src: rpm/gating.yaml + dest: gating.yaml + delete: true + - src: plans/ + dest: plans/ + delete: true + - src: .fmf/ + dest: .fmf/ + delete: true + - .packit.yaml + +packages: + aardvark-dns-fedora: + pkg_tool: fedpkg + specfile_path: rpm/aardvark-dns.spec + aardvark-dns-centos: + pkg_tool: centpkg + specfile_path: rpm/aardvark-dns.spec + aardvark-dns-eln: + specfile_path: rpm/aardvark-dns.spec + srpm_build_deps: - cargo - make @@ -13,29 +39,44 @@ srpm_build_deps: jobs: - job: copr_build trigger: pull_request - notifications: + packages: [aardvark-dns-fedora] + notifications: &copr_build_failure_notification failure_comment: message: "Ephemeral COPR build failed. @containers/packit-build please check." targets: - fedora-all-x86_64: {} - fedora-all-aarch64: {} + - fedora-all-x86_64 + - fedora-all-aarch64 + enable_net: true + osh_diff_scan_after_copr_build: false + + - job: copr_build + trigger: pull_request + packages: [aardvark-dns-eln] + notifications: *copr_build_failure_notification + targets: fedora-eln-x86_64: additional_repos: - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/" fedora-eln-aarch64: additional_repos: - "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/" - epel-8-x86_64: {} - epel-8-aarch64: {} - epel-9-x86_64: {} - epel-9-aarch64: {} - additional_repos: - - "copr://rhcontainerbot/podman-next" + enable_net: true + + - job: copr_build + trigger: pull_request + packages: [aardvark-dns-centos] + notifications: *copr_build_failure_notification + targets: ¢os_copr_targets + - centos-stream-9-x86_64 + - centos-stream-9-aarch64 + - centos-stream-10-x86_64 + - centos-stream-10-aarch64 enable_net: true # Run on commit to main branch - job: copr_build trigger: commit + packages: [aardvark-dns-fedora] notifications: failure_comment: message: "podman-next COPR build failed. @containers/packit-build please check." @@ -44,80 +85,63 @@ jobs: project: podman-next enable_net: true - # Validate test + # Unit tests on Fedora - job: tests trigger: pull_request - skip_build: true + packages: [aardvark-dns-fedora] + notifications: &test_failure_notification + failure_comment: + message: "Tests failed. @containers/packit-build please check." targets: - # Only need to test on one target + - fedora-development-x86_64 + - fedora-development-aarch64 + - fedora-latest-x86_64 + - fedora-latest-aarch64 - fedora-latest-stable-x86_64 - identifier: validate_test - tmt_plan: "/plans/validate_test" + - fedora-latest-stable-aarch64 + - fedora-40-x86_64 + - fedora-40-aarch64 + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo - # Unit tests + # Unit tests on CentOS Stream - job: tests trigger: pull_request - skip_build: true - targets: &pr_test_targets - - fedora-all-x86_64 - - fedora-all-aarch64 - - epel-8-x86_64 - - epel-8-aarch64 - - epel-9-x86_64 - - epel-9-aarch64 - identifier: unit_test - tmt_plan: "/plans/unit_test" - - # Integration tests - - job: tests - trigger: pull_request - targets: *pr_test_targets - identifier: integration_test - tmt_plan: "/plans/integration_test" - - # Unit tests on RHEL - - job: tests - trigger: pull_request - skip_build: true - use_internal_tf: true - notifications: - failure_comment: - message: "podman e2e tests failed on RHEL. @containers/packit-build please check." - targets: &pr_test_targets_rhel - epel-8-aarch64: - distros: [RHEL-8.9.0-Nightly,RHEL-8.10.0-Nightly] - epel-8-x86_64: - distros: [RHEL-8.9.0-Nightly,RHEL-8.10.0-Nightly] - epel-9-aarch64: - distros: [RHEL-9.3.0-Nightly,RHEL-9.4.0-Nightly] - epel-9-x86_64: - distros: [RHEL-9.3.0-Nightly,RHEL-9.4.0-Nightly] - identifier: unit_test_internal - tmt_plan: "/plans/unit_test" - - # Integration tests on RHEL - - job: tests - trigger: pull_request - use_internal_tf: true - notifications: - failure_comment: - message: "podman system tests failed on RHEL. @containers/packit-build please check." - targets: *pr_test_targets_rhel - identifier: integration_test_internal - tmt_plan: "/plans/integration_test" + packages: [aardvark-dns-centos] + notifications: *test_failure_notification + targets: *centos_copr_targets + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/centos-stream-$releasever/rhcontainerbot-podman-next-centos-stream-$releasever.repo + - type: repository-file + id: https://src.fedoraproject.org/rpms/epel-release/raw/epel$releasever/f/epel.repo + # Sync to Fedora - job: propose_downstream trigger: release + packages: [aardvark-dns-fedora] + update_release: false + dist_git_branches: &fedora_targets + - fedora-all + + # Sync to CentOS Stream + - job: propose_downstream + trigger: release + packages: [aardvark-dns-centos] update_release: false dist_git_branches: - - fedora-all + - c10s + - c9s - job: koji_build trigger: commit - dist_git_branches: - - fedora-all - - - job: bodhi_update - trigger: commit - dist_git_branches: - - fedora-branched # rawhide updates are created automatically + packages: [aardvark-dns-fedora] + sidetag_group: netavark-releases + dependents: + - netavark + dist_git_branches: *fedora_targets diff --git a/README.packit b/README.packit index bba9424..7017e6c 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.89.0.post1.dev4+gabf90471. +The file was generated using packit 1.1.0.post1.dev2+gf7b527d0. diff --git a/aardvark-dns.spec b/aardvark-dns.spec index ef26893..da9579f 100644 --- a/aardvark-dns.spec +++ b/aardvark-dns.spec @@ -1,14 +1,6 @@ # trust-dns-{client,server} not available # using vendored deps -# RHEL doesn't include the package rust-packaging which provides %%__cargo macro, but EPEL -# does. So we set it separately here and skip rust-packaging dependency for RHEL. -# Buildability without EPEL is essential for packit builds. -# ELN doesn't need this. -%if %{defined rhel} && 0%{?rhel} < 10 -%define __cargo %{_bindir}/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' %{_bindir}/cargo -%endif - %global with_debug 1 %if 0%{?with_debug} @@ -21,6 +13,8 @@ Name: aardvark-dns %if %{defined copr_username} Epoch: 102 +%else +Epoch: 2 %endif # DO NOT TOUCH the Version string! # The TRUE source of this specfile is: @@ -28,7 +22,7 @@ Epoch: 102 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 1.10.0 +Version: 1.14.0 # The `AND` needs to be uppercase in the License for SPDX compatibility License: Apache-2.0 AND MIT AND Zlib Release: %autorelease @@ -66,25 +60,30 @@ Read more about configuration in `src/backend/mod.rs`. # dependencies directly from the network. %if !%{defined copr_username} tar fx %{SOURCE1} -mkdir -p .cargo - -cat >.cargo/config << EOF -[source.crates-io] -replace-with = "vendored-sources" - -[source.vendored-sources] -directory = "vendor" -EOF +%if 0%{?fedora} || 0%{?rhel} >= 10 +%cargo_prep -v vendor +%else +%cargo_prep -V 1 +%endif %endif %build %{__make} CARGO="%{__cargo}" build +%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username} +%cargo_license_summary +%{cargo_license} > LICENSE.dependencies +%cargo_vendor_manifest +%endif %install %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install %files %license LICENSE +%if (0%{?fedora} || 0%{?rhel} >= 10) && !%{defined copr_username} +%license LICENSE.dependencies +%license cargo-vendor.txt +%endif %dir %{_libexecdir}/podman %{_libexecdir}/podman/%{name} diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..dbb1d91 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,12 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: [] diff --git a/plans/main.fmf b/plans/main.fmf new file mode 100644 index 0000000..5f468c5 --- /dev/null +++ b/plans/main.fmf @@ -0,0 +1,23 @@ +discover: + how: fmf +execute: + how: tmt + +/upstream: + summary: Run tests on upstream PRs + discover+: + filter: tag:upstream + adjust+: + enabled: false + when: initiator is not defined or initiator != packit + +/downstream: + summary: Run tests on bodhi / errata and dist-git PRs + discover+: + filter: tag:downstream + dist-git-install-builddeps: true + dist-git-source: true + dist-git-remove-fmf-root: true + adjust+: + enabled: false + when: initiator == packit diff --git a/sources b/sources index 7e0d26c..6221c50 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (v1.10.0.tar.gz) = 9ff315dc576f94bfc0affb6658bb47d9b7d448cf11294df607f7e8701662f148fb655f1eae6eb118f16b9e0779d27ab86d651883b1fd3bdc0e29c587bf47729b -SHA512 (aardvark-dns-v1.10.0-vendor.tar.gz) = 68d0106b71f42ba789810020d62911d880debf90a35a086aabfd614403985025dc0c5934087a98943b53f6dfd8ede4add99465cec1ae9a098ff1de1082e1ef9c +SHA512 (v1.14.0.tar.gz) = 0300c474bb748063bf96488c06920df15ade525a8ee288446d3f30c3cffdccd687744efbb76e54a6b2213c38c02b00400ad79459bd78e8721556ff8dcdc1df8e +SHA512 (aardvark-dns-v1.14.0-vendor.tar.gz) = 0d738d0a737bfc9b6b2fe728de343a6a91c6e197d888fd37c0859b831b05f8c92efce13c268fc8f31a09bb78d43f4330230a0454744523df5a4fa96498ca3dac