diff --git a/.ci/almalinux10.dockerfile b/.ci/almalinux10.dockerfile new file mode 100644 index 0000000000..b78b6e6d52 --- /dev/null +++ b/.ci/almalinux10.dockerfile @@ -0,0 +1,15 @@ +FROM almalinux:10-kitten + +RUN dnf install -y \ + 'dnf-command(config-manager)' \ + epel-release \ + git \ + jq \ + rpm-build +RUN dnf config-manager --set-enabled -y crb + +# NOTE: COPY invalidates docker cache when source file changes, +# so `dnf builddep` will rerun if dependencies change, despite no change +# in dockerfile. +COPY gramine.spec /gramine.spec +RUN dnf builddep -y /gramine.spec diff --git a/.ci/pkg-rpm-almalinux10.jenkinsfile b/.ci/pkg-rpm-almalinux10.jenkinsfile new file mode 100644 index 0000000000..72e239723b --- /dev/null +++ b/.ci/pkg-rpm-almalinux10.jenkinsfile @@ -0,0 +1,46 @@ +pipeline { + agent { + label 'clone3' + } + stages { + stage('makedist') { + agent { + dockerfile { + filename '.ci/almalinux10.dockerfile' + reuseNode true + } + } + steps { + sh ''' + ./scripts/makedist.sh + mkdir -p rpmbuild/SOURCES + mv gramine*.tar.* rpmbuild/SOURCES + ''' + } + } + stage('build') { + agent { + dockerfile { + filename '.ci/almalinux10.dockerfile' + args '--network=none' + reuseNode true + } + } + steps { + sh ''' + rpmbuild \ + --define "_topdir $PWD/rpmbuild" \ + -ba gramine.spec + ''' + } + } + } + post { + always { + archiveArtifacts ''' + rpmbuild/SRPMS/gramine*.src.rpm, + rpmbuild/RPMS/*/gramine*.rpm, + ''' + } + } +}