Compare commits
4 Commits
bfd826276d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9af0a381aa | |||
| 1b1bd829f1 | |||
| 71bb2e8de5 | |||
| 1a2b2f604c |
149
ci/Jenkinsfile
vendored
149
ci/Jenkinsfile
vendored
@@ -1,7 +1,7 @@
|
||||
pipeline {
|
||||
agent none
|
||||
@Library('dch')_
|
||||
|
||||
triggers {
|
||||
properties([
|
||||
pipelineTriggers([
|
||||
GenericTrigger(
|
||||
causeString: 'Webhook Trigger',
|
||||
genericVariables: [[
|
||||
@@ -15,100 +15,75 @@ pipeline {
|
||||
silentResponse: true,
|
||||
tokenCredentialId: 'webhook-trigger',
|
||||
)
|
||||
}
|
||||
])
|
||||
])
|
||||
|
||||
stages {
|
||||
stage('RPM') {
|
||||
matrix {
|
||||
axes {
|
||||
axis {
|
||||
name 'FEDORA'
|
||||
values '41', '42'
|
||||
}
|
||||
try {
|
||||
fedoraBuild(
|
||||
architectures: ['amd64'],
|
||||
podTemplate: 'ci/podTemplate.yaml',
|
||||
buildContainer: 'fedora',
|
||||
) { arch, fedoraVersion ->
|
||||
stage("Prepare f${fedoraVersion}/${arch}") {
|
||||
checkout scm
|
||||
|
||||
container('fedora') {
|
||||
sh '. ci/prepare.sh'
|
||||
}
|
||||
}
|
||||
|
||||
stage("Build f${fedoraVersion}/${arch}") {
|
||||
withCredentials([file(
|
||||
credentialsId: 'kmod-signing-cert',
|
||||
variable: 'SIGNING_KEY',
|
||||
)]) {
|
||||
container('fedora') {
|
||||
sh '. ci/build.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
agent {
|
||||
kubernetes {
|
||||
yamlFile 'ci/podTemplate.yaml'
|
||||
yamlMergeStrategy merge()
|
||||
defaultContainer 'fedora'
|
||||
containerTemplate {
|
||||
name 'fedora'
|
||||
image "registry.fedoraproject.org/fedora:${FEDORA}"
|
||||
stage("Sign f${fedoraVersion}/${arch}") {
|
||||
when(BRANCH_NAME == 'main') {
|
||||
withEnv([
|
||||
"GNUPGHOME=${env.WORKSPACE_TMP}/gnupg",
|
||||
]) {
|
||||
withCredentials([
|
||||
file(
|
||||
credentialsId: 'rpm-gpg-key',
|
||||
variable: 'RPM_GPG_PRIVATE_KEY',
|
||||
),
|
||||
file(
|
||||
credentialsId: 'rpm-gpg-key-passphrase',
|
||||
variable: 'RPM_GPG_KEY_PASSPHRASE',
|
||||
),
|
||||
]) {
|
||||
container('fedora') {
|
||||
sh '. ci/sign.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Prepare') {
|
||||
steps {
|
||||
sh '. ci/prepare.sh'
|
||||
}
|
||||
archiveArtifacts '*.rpm'
|
||||
|
||||
stage("Publish f${fedoraVersion}/${arch}") {
|
||||
when(BRANCH_NAME == 'main') {
|
||||
container('fedora') {
|
||||
sshagent(['jenkins-repohost']) {
|
||||
sh '. ci/publish.sh'
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
withCredentials([file(
|
||||
credentialsId: 'kmod-signing-cert',
|
||||
variable: 'SIGNING_KEY',
|
||||
)]) {
|
||||
sh '. ci/build.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Sign') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
environment {
|
||||
GNUPGHOME = "${env.WORKSPACE_TMP}/gnupg"
|
||||
}
|
||||
steps {
|
||||
withCredentials([
|
||||
file(
|
||||
credentialsId: 'rpm-gpg-key',
|
||||
variable: 'RPM_GPG_PRIVATE_KEY',
|
||||
),
|
||||
file(
|
||||
credentialsId: 'rpm-gpg-key-passphrase',
|
||||
variable: 'RPM_GPG_KEY_PASSPHRASE',
|
||||
),
|
||||
]) {
|
||||
sh '. ci/sign.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Archive') {
|
||||
steps {
|
||||
archiveArtifacts '*.rpm'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Publish') {
|
||||
when {
|
||||
branch 'main'
|
||||
}
|
||||
steps {
|
||||
sshagent(['jenkins-repohost']) {
|
||||
sh '. ci/publish.sh'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
failure {
|
||||
emailext(
|
||||
to: 'gyrfalcon@ebonfire.com',
|
||||
subject: '$DEFAULT_SUBJECT',
|
||||
body: '$DEFAULT_CONTENT',
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (ex) {
|
||||
currentBuild.result = 'FAILED'
|
||||
emailext(
|
||||
to: 'gyrfalcon@ebonfire.com',
|
||||
subject: '$DEFAULT_SUBJECT',
|
||||
body: '$DEFAULT_CONTENT',
|
||||
)
|
||||
throw ex
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
Name: gasket-driver
|
||||
Version: 0.0.git%{git_revision}
|
||||
Release: 3.k%{kernel_version}%{?dist}
|
||||
Release: 5.k%{kernel_version}%{?dist}
|
||||
Summary: The Coral Gasket Driver allows usage of the Coral EdgeTPU on Linux systems
|
||||
|
||||
License: GPL-2.0
|
||||
@@ -19,8 +19,8 @@ Patch0: 0001-core-Omit-no_llseek-reference.patch
|
||||
Patch1: 0002-Update-gasket_page_table.c-Fix-MODULE_IMPORT_NS.patch
|
||||
|
||||
BuildRequires: kernel-devel
|
||||
Provides: installonlypkg(kernel-module)
|
||||
Requires: kernel-core == %{kernel_version}
|
||||
Conflicts: kernel-core > %{kernel_version}
|
||||
Requires(post): kmod
|
||||
|
||||
%description
|
||||
@@ -50,6 +50,9 @@ depmod -a %{kernel_ver}.%{_arch}
|
||||
|
||||
|
||||
%changelog
|
||||
* Sun Nov 23 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-4]
|
||||
- Provide installonlypkg(kernel-module)
|
||||
|
||||
* Sun Nov 16 2025 Dustin C. Hatch <dustin@hatch.name> [0.0.git5815ee3-2]
|
||||
- Include kernel version in release tag
|
||||
|
||||
|
||||
Reference in New Issue
Block a user