-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy path.packit.yaml
More file actions
139 lines (125 loc) · 4.18 KB
/
Copy path.packit.yaml
File metadata and controls
139 lines (125 loc) · 4.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
---
upstream_package_name: goose
downstream_package_name: goose
upstream_project_url: https://github.com/block/goose
specfile_path: goose.spec
srpm_build_deps:
- cargo
- git
- openssl-devel
actions:
# The last step here is required by Packit to return the archive name
# https://packit.dev/docs/configuration/actions#create-archive
create-archive:
- bash -c "cargo install cargo-vendor-filterer@0.5.18"
- bash -c "./generate-vendor-tarball.sh"
- bash -c "ls -1 goose*.tar.xz"
# We fix the first source of the specfile because packit just understands
# that Source should be our create-archive output. That's simply not right
# and it's easier to just sed it out and fix in the fix-spec-file
fix-spec-file:
- sed -Ei 's|^(Source:[[:space:]]+)goose-[0-9]+(\.[0-9]+)*-vendor\.tar\.xz|\1%{url}/archive/v%{version}/%{name}-%{version}.tar.gz|' goose.spec
# Update Release with Packit's generated value (includes PR/branch identifier).
# For PR builds this produces e.g. 1.TIMESTAMP.prNN.N.gHASH
# For main builds this produces e.g. 1.TIMESTAMP.main.N.gHASH
- "bash -c 'sed -i -r \"s/Release:(\\s*).*/Release:\\1${PACKIT_RPMSPEC_RELEASE}%{?dist}/\" goose.spec'"
# Do not get the version from a tag (git describe) but from the spec file.
get-current-version:
- grep -oP '^Version:\s+\K\S+' goose.spec
_:
pr_targets: &pr_targets
fedora-43-x86_64: {}
fedora-44-x86_64: {}
fedora-rawhide-x86_64: {}
epel-9-x86_64: {}
epel-10-x86_64: {}
rhel-9-x86_64: {}
rhel-10-x86_64: {}
targets: &targets
<<: *pr_targets
fedora-43-aarch64: {}
fedora-43-ppc64le: {}
fedora-43-s390x: {}
fedora-44-aarch64: {}
fedora-44-ppc64le: {}
fedora-44-s390x: {}
fedora-rawhide-aarch64: {}
fedora-rawhide-ppc64le: {}
fedora-rawhide-s390x: {}
epel-9-aarch64: {}
epel-9-ppc64le: {}
epel-9-s390x: {}
epel-10-aarch64: {}
epel-10-ppc64le: {}
epel-10-s390x: {}
rhel-9-aarch64: {}
rhel-9-s390x: {}
rhel-9-ppc64le: {}
rhel-10-aarch64: {}
rhel-10-s390x: {}
rhel-10-ppc64le: {}
jobs:
- job: copr_build
trigger: pull_request
owner: "@rhel-lightspeed"
project: goose
# Goose builds usually take a long time to finish, so we set it to 5h, just
# in case.
timeout: 36000
targets: *pr_targets
# Build on new commit to main branch
- job: copr_build
trigger: commit
branch: main
owner: "@rhel-lightspeed"
project: goose
# Goose builds usually take a long time to finish, so we set it to 5h, just
# in case.
timeout: 36000
targets: *targets
# Run internal test suite on Testing Farm (Red Hat ranch)
- &goose_tests_base
job: tests
trigger: pull_request
fmf_url: "https://gitlab.cee.redhat.com/rhel-lightspeed/enhanced-shell/goose-tests"
fmf_ref: "develop"
use_internal_tf: True
identifier: goose-tests-internal
tmt_plan: "level0"
env:
GOOSE_TESTS_GOOSE_REDHAT_PACKAGE_SOURCE_PROFILE: "copr"
targets: &rhel_x86_64_targets
# Run the x86_64 archs only for pull requests. This is faster and "economical" than having all other architectures as well.
# We rarely see issues on other architectures, we only run them on a weekly basis inside the "rhel-lightspeed/enhanced-shell/goose-tests" repository as a scheduled pipeline.
rhel-10-x86_64:
distros:
- RHEL-10.2-Nightly
- RHEL-10.3-Nightly
rhel-9-x86_64:
distros:
- RHEL-9.8.0-Nightly
- RHEL-9.9.0-Nightly
tf_extra_params: &tf_extra_params
environments:
- settings:
provisioning:
tags:
BusinessUnit: rhel_sst_lightspeed@upstream
# Run public test suite on Testing Farm (Red Hat ranch)
- <<: *goose_tests_base
# The public test suite is an imported test plan, that's why we use the main branch here.
fmf_ref: "main"
identifier: goose-tests-public
tmt_plan: "goose-public"
env: ~
targets:
<<: *rhel_x86_64_targets
fedora-44-x86_64:
distros:
- Fedora-44
fedora-43-x86_64:
distros:
- Fedora-43
fedora-rawhide-x86_64:
distros:
- Fedora-Rawhide