-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Packit/RPM: Initial add of config and rpm spec
Include validate and unit tests using TMT. Also cleanup a leftover double quote in test.sh from previous commit. Signed-off-by: Lokesh Mandvekar <[email protected]>
- Loading branch information
Showing
5 changed files
with
170 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
# See the documentation for more information: | ||
# https://packit.dev/docs/configuration/ | ||
|
||
specfile_path: rpm/crun-vm.spec | ||
|
||
srpm_build_deps: | ||
- cargo | ||
- make | ||
- openssl-devel | ||
|
||
jobs: | ||
- job: copr_build | ||
trigger: pull_request | ||
notifications: | ||
failure_comment: | ||
message: "Ephemeral COPR build failed. @containers/packit-build please check." | ||
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/" | ||
additional_repos: | ||
- "copr://rhcontainerbot/podman-next" | ||
enable_net: true | ||
|
||
# Run on commit to main branch | ||
- job: copr_build | ||
trigger: commit | ||
notifications: | ||
failure_comment: | ||
message: "podman-next COPR build failed. @containers/packit-build please check." | ||
branch: main | ||
owner: rhcontainerbot | ||
project: podman-next | ||
enable_net: true | ||
|
||
# Unit tests | ||
- job: tests | ||
trigger: pull_request | ||
skip_build: true | ||
targets: | ||
- fedora-all-aarch64 | ||
- fedora-all-x86_64 | ||
identifier: unit_test | ||
tmt_plan: "/plans/unit_test" | ||
|
||
# Validate test | ||
- 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" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
prepare: | ||
- name: Install dependencies | ||
how: install | ||
package: | ||
- cargo | ||
- clippy | ||
- make | ||
- podman | ||
- rustfmt | ||
|
||
/unit_test: | ||
summary: Run unit tests | ||
execute: | ||
how: tmt | ||
script: | | ||
cargo install nextest | ||
make unit | ||
|
||
/validate_test: | ||
summary: Run validate test | ||
execute: | ||
how: tmt | ||
script: make validate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# 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 | ||
|
||
%if %{defined copr_username} | ||
%define copr_build 1 | ||
%endif | ||
|
||
%global with_debug 1 | ||
|
||
%if 0%{?with_debug} | ||
%global _find_debuginfo_dwz_opts %{nil} | ||
%global _dwz_low_mem_die_limit 0 | ||
%else | ||
%global debug_package %{nil} | ||
%endif | ||
|
||
Name: crun-vm | ||
%if %{defined copr_build} | ||
Epoch: 102 | ||
%endif | ||
# DO NOT TOUCH the Version string! | ||
# The TRUE source of this specfile is: | ||
# https://github.com/containers/crun-vm/blob/main/rpm/crun-vm.spec | ||
# 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: 0 | ||
# The `AND` needs to be uppercase in the License for SPDX compatibility | ||
License: (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (MIT OR Apache-2.0) AND (MIT OR Unlicense) AND Apache-2.0 AND GPL-2.0-or-later AND MIT AND MPL-2.0 AND MPL-2.0+ AND Unicode-DFS-2016 | ||
Release: %autorelease | ||
%if %{defined golang_arches_future} | ||
ExclusiveArch: %{golang_arches_future} | ||
%else | ||
ExclusiveArch: aarch64 ppc64le s390x x86_64 | ||
%endif | ||
Summary: OCI Runtime to run QEMU-compatible VM images | ||
URL: https://github.com/containers/%{name} | ||
# Tarballs fetched from upstream's release page | ||
Source0: %{url}/archive/%{version}.tar.gz | ||
BuildRequires: cargo | ||
BuildRequires: git-core | ||
BuildRequires: libselinux-devel | ||
BuildRequires: make | ||
%if %{defined rhel} | ||
# rust-toolset requires the `local` repo enabled on non-koji ELN build environments | ||
BuildRequires: rust-toolset | ||
%else | ||
BuildRequires: rust-packaging | ||
BuildRequires: rust-srpm-macros | ||
%endif | ||
|
||
%description | ||
%{summary} | ||
|
||
%prep | ||
%autosetup -Sgit -n %{name}-%{version} | ||
|
||
%build | ||
%{__make} CARGO="%{__cargo}" build | ||
|
||
%install | ||
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install | ||
|
||
%files | ||
%license LICENSE | ||
%{_bindir}/%{name} | ||
|
||
%changelog | ||
%if %{defined autochangelog} | ||
%autochangelog | ||
%else | ||
# NOTE: This changelog will be visible on CentOS Stream 8/9 builds | ||
# Other envs are capable of handling autochangelog | ||
* Mon Jan 16 2024 RH Container Bot <[email protected]> | ||
- Placeholder changelog for envs that are not autochangelog-ready | ||
- Contact upstream if you need to report an issue with the build. | ||
%endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters