Compare commits
18 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad694eb989 | ||
|
|
a840b54a29 | ||
|
|
1702e37719 | ||
|
|
913f3a45e5 | ||
|
|
df26b36a6e | ||
|
|
47a0e24276 | ||
|
|
71e88aab3c | ||
|
|
ae197181c5 | ||
|
|
5f1f1ea08d |
||
|
|
cece91cf4e | ||
|
|
5716cbb68b |
||
|
|
1868b265e4 | ||
|
|
43998e7c07 |
||
|
|
5d3e595eb6 |
||
|
|
2af607a457 |
||
|
|
14f5d331e7 |
||
|
|
4d693d5144 | ||
|
|
ae8535aa2d |
10 changed files with 248 additions and 94 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
18
.gitignore
vendored
18
.gitignore
vendored
|
|
@ -28,3 +28,21 @@
|
|||
/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
|
||||
/v1.15.0.tar.gz
|
||||
/aardvark-dns-v1.15.0-vendor.tar.gz
|
||||
/v1.16.0.tar.gz
|
||||
/aardvark-dns-v1.16.0-vendor.tar.gz
|
||||
/v1.17.0.tar.gz
|
||||
/aardvark-dns-v1.17.0-vendor.tar.gz
|
||||
|
|
|
|||
171
.packit.yaml
171
.packit.yaml
|
|
@ -2,40 +2,92 @@
|
|||
# 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
|
||||
mkpath: true
|
||||
- src: test/tmt
|
||||
dest: test/tmt
|
||||
delete: true
|
||||
mkpath: 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
|
||||
- git-archive-all
|
||||
- make
|
||||
- openssl-devel
|
||||
|
||||
# https://packit.dev/docs/configuration/actions
|
||||
# fix-spec-file only operates on copr builds and doesn't affect official distro builds
|
||||
actions:
|
||||
fix-spec-file: "bash .packit-copr-rpm.sh"
|
||||
|
||||
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_copr_targets
|
||||
- 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-all-x86_64: {}
|
||||
fedora-all-aarch64: {}
|
||||
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 +96,53 @@ jobs:
|
|||
project: podman-next
|
||||
enable_net: true
|
||||
|
||||
# Validate test
|
||||
# Tests on Fedora
|
||||
- job: tests
|
||||
trigger: pull_request
|
||||
skip_build: true
|
||||
targets:
|
||||
# Only need to test on one target
|
||||
- fedora-latest-stable-x86_64
|
||||
identifier: validate_test
|
||||
tmt_plan: "/plans/validate_test"
|
||||
|
||||
# Unit tests
|
||||
- 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:
|
||||
packages: [aardvark-dns-fedora]
|
||||
notifications: &test_failure_notification
|
||||
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"
|
||||
message: "Tests failed. @containers/packit-build please check."
|
||||
targets: *fedora_copr_targets
|
||||
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
|
||||
|
||||
# Integration tests on RHEL
|
||||
# Tests on CentOS Stream
|
||||
- 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
|
||||
|
||||
# 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
|
||||
|
|
|
|||
|
|
@ -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.12.0.post1.dev13+gd51655c23.
|
||||
|
|
|
|||
|
|
@ -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.17.0
|
||||
# The `AND` needs to be uppercase in the License for SPDX compatibility
|
||||
License: Apache-2.0 AND MIT AND Zlib
|
||||
Release: %autorelease
|
||||
|
|
@ -59,6 +53,23 @@ BuildRequires: rust-srpm-macros
|
|||
Forwards other request to configured resolvers.
|
||||
Read more about configuration in `src/backend/mod.rs`.
|
||||
|
||||
%package tests
|
||||
Summary: Tests for %{name}
|
||||
|
||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||
Requires: bats
|
||||
Requires: bind-utils
|
||||
Requires: jq
|
||||
Requires: netavark
|
||||
Requires: socat
|
||||
Requires: dnsmasq
|
||||
|
||||
%description tests
|
||||
%{summary}
|
||||
|
||||
This package contains system tests for %{name} and is only intended to be used
|
||||
for gating tests.
|
||||
|
||||
%prep
|
||||
%autosetup -Sgit %{name}-%{version}
|
||||
# Following steps are only required on environments like koji which have no
|
||||
|
|
@ -66,27 +77,43 @@ 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
|
||||
|
||||
%{__install} -d -p %{buildroot}%{_datadir}/%{name}/test
|
||||
%{__cp} -rp test/* %{buildroot}%{_datadir}/%{name}/test/
|
||||
%{__rm} -rf %{buildroot}%{_datadir}/%{name}/test/tmt/
|
||||
|
||||
# Add empty check section to silence rpmlint warning.
|
||||
# No tests meant to be run here.
|
||||
%check
|
||||
|
||||
%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}
|
||||
|
||||
%files tests
|
||||
%{_datadir}/%{name}/test
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
|
|
|||
16
gating.yaml
Normal file
16
gating.yaml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_contexts:
|
||||
- bodhi_update_push_stable
|
||||
- bodhi_update_push_testing
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-*
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||
33
plans/main.fmf
Normal file
33
plans/main.fmf
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
prepare:
|
||||
- when: distro == centos-stream or distro == rhel
|
||||
how: shell
|
||||
script: |
|
||||
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm --eval '%{?rhel}').noarch.rpm
|
||||
dnf -y config-manager --set-enabled epel
|
||||
order: 10
|
||||
- when: initiator == packit
|
||||
how: shell
|
||||
script: |
|
||||
COPR_REPO_FILE="/etc/yum.repos.d/*podman-next*.repo"
|
||||
if compgen -G $COPR_REPO_FILE > /dev/null; then
|
||||
sed -i -n '/^priority=/!p;$apriority=1' $COPR_REPO_FILE
|
||||
fi
|
||||
dnf -y upgrade --allowerasing
|
||||
order: 20
|
||||
|
||||
/no-rpm:
|
||||
summary: Run tests independent of rpm
|
||||
discover+:
|
||||
filter: tag:no-rpm
|
||||
adjust+:
|
||||
- enabled: false
|
||||
when: initiator is not defined or initiator != packit
|
||||
|
||||
/rpm:
|
||||
summary: Run tests on the rpm
|
||||
discover+:
|
||||
filter: tag:rpm
|
||||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (v1.10.0.tar.gz) = 9ff315dc576f94bfc0affb6658bb47d9b7d448cf11294df607f7e8701662f148fb655f1eae6eb118f16b9e0779d27ab86d651883b1fd3bdc0e29c587bf47729b
|
||||
SHA512 (aardvark-dns-v1.10.0-vendor.tar.gz) = 68d0106b71f42ba789810020d62911d880debf90a35a086aabfd614403985025dc0c5934087a98943b53f6dfd8ede4add99465cec1ae9a098ff1de1082e1ef9c
|
||||
SHA512 (v1.17.0.tar.gz) = 42e3a261bb5b9df83b8bb853ed50dd7dfda643895262aedf5ccdc865c598e913996a244d234ac309a18ee1a884b7ba847679dfe5d8b6521e674114c8aba552da
|
||||
SHA512 (aardvark-dns-v1.17.0-vendor.tar.gz) = b7ec2a2a34d5bb36dbcc55611dc9ec0ff2c1bed4469cc4b12d4eb0bd78bb7d6cae6f80a02ac32ade5c435fdd11e22ddd99646aa4de504c8369ee56cfa470e6a5
|
||||
|
|
|
|||
26
test/tmt/tmt/main.fmf
Normal file
26
test/tmt/tmt/main.fmf
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
/validate:
|
||||
tag: [ no-rpm, validate ]
|
||||
summary: Validate test
|
||||
test: make -C ../.. validate
|
||||
require:
|
||||
- clippy
|
||||
- rustfmt
|
||||
|
||||
/unit:
|
||||
tag: [ no-rpm, unit ]
|
||||
summary: Unit tests
|
||||
test: make -C ../.. unit
|
||||
require:
|
||||
- cargo
|
||||
|
||||
/integration:
|
||||
tag: [ rpm, integration ]
|
||||
summary: Integration tests
|
||||
test: bash test_integration.sh
|
||||
environment:
|
||||
AARDVARK: /usr/libexec/podman/aardvark-dns
|
||||
require:
|
||||
- aardvark-dns-tests
|
||||
adjust:
|
||||
duration: 10m
|
||||
when: arch == aarch64
|
||||
8
test/tmt/tmt/test_integration.sh
Normal file
8
test/tmt/tmt/test_integration.sh
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -exo pipefail
|
||||
|
||||
rpm -q aardvark-dns aardvark-dns-tests netavark
|
||||
|
||||
cd /usr/share/aardvark-dns/
|
||||
bats test/
|
||||
Loading…
Add table
Add a link
Reference in a new issue