Skip to content
Snippets Groups Projects
Commit e2e97d8e authored by Eduardo Trujillo's avatar Eduardo Trujillo
Browse files

feat(ci): Add experimental RPM builds

parent 54e0b83a
No related branches found
No related tags found
No related merge requests found
Pipeline #322 failed
...@@ -109,4 +109,21 @@ release: ...@@ -109,4 +109,21 @@ release:
assets: assets:
links: links:
- name: 'Linux (amd64)' - name: 'Linux (amd64)'
url: "${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY}" url: "${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY}"
\ No newline at end of file
fedora:
stage: release
# rules:
# - if: '$CI_COMMIT_TAG =~ /^\d+\.\d+\.\d+$/'
needs:
- job: rust-nightly
image: docker.io/library/fedora:37
script:
- dnf install -y rust cargo rpm-build rpmdevtools rust-packaging dnf-plugins-core curl
- rpmdev-setuptree
- cp ./rust-nm-reactor.spec ~/rpmbuild/SPECS/
- spectool -g -R ~/rpmbuild/SPECS/rust-nm-reactor.spec
- dnf builddep -y ~/rpmbuild/SPECS/rust-nm-reactor.spec
- rpmbuild -ba ~/rpmbuild/SPECS/rust-nm-reactor.spec
- |
for file in ~/rpmbuild/RPMS/**/*.rpm; curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file ${file} ${PACKAGE_REGISTRY_URL}/$(basename $file); done
# Initially generated by rust2rpm 23. Manually modified to support building
# using crates not available from crates.io. As a result, this package cannot
# be built offline. It is primarily intended for CI builds.
%bcond_without check
%global crate nm-reactor
Name: rust-nm-reactor
Version: 0.1.1
Release: %autorelease
Summary: NetworkManager reactor
License: BSD-3-Clause
URL: https://gitlab.chromabits.com/etcinit/nm-reactor
Source: https://gitlab.chromabits.com/etcinit/nm-reactor/-/archive/%{version}/nm-reactor-%{version}.tar.gz
BuildRequires: rust-packaging >= 21
BuildRequires: dbus-devel
%global _description %{expand:
NetworkManager reactor. If-this-then-that for NetworkManager.}
%description %{_description}
%package -n %{crate}
Summary: %{summary}
%description -n %{crate} %{_description}
%files -n %{crate}
%license LICENSE
%doc README.md
%{_bindir}/nm-reactor
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
set -eu
%{__mkdir} -p .cargo
cat > .cargo/config << EOF
[build]
rustc = "%{__rustc}"
rustdoc = "%{__rustdoc}"
[env]
CFLAGS = "%{build_cflags}"
CXXFLAGS = "%{build_cxxflags}"
LDFLAGS = "%{build_ldflags}"
[install]
root = "%{buildroot}%{_prefix}"
[term]
verbose = true
[source]
[source.local-registry]
directory = "%{cargo_registry}"
EOF
%{__rm} -f Cargo.lock
%{__rm} -f Cargo.toml.orig
%build
%cargo_build
%install
%cargo_install
%if %{with check}
%check
%cargo_test
%endif
%changelog
%autochangelog
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment