Skip to content

Commit 75db6e1

Browse files
[CDRIVER-4640] Remove the Release Archive (#1333)
* Remove CMake code for source distribution This removes code that accumulates lists of sources to include in the source dist, as well as the targets which generate it. * "RELEASE" mode does not use release archive * link-sample tasks do not use the source archive * No more make-release-archive * Rename make_release_archive -> make_docs * Rename the variant * Define a variant tag for protecting merges * Use stable Fedora for RPM build (for now) * Use git archive to create the source archive * Bring packaging tasks as PR-protected * Tweak pkg version detection * Tweak spec patchfile * Get source filename from rpmspec * Note pending removal of the release archive
1 parent c100d44 commit 75db6e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+282
-1874
lines changed

.evergreen/config_generator/components/funcs/fetch_source.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,6 @@ class FetchSource(Function):
3434
),
3535
expansions_update(command_type=command_type,
3636
file='mongoc/expansion.yml'),
37-
bash_exec(
38-
command_type=command_type,
39-
script='''\
40-
rm -f *.tar.gz
41-
curl --retry 5 --output mongoc.tar.gz -sS --max-time 120 https://s3.amazonaws.com/mciuploads/${project}/${branch_name}/mongo-c-driver-${CURRENT_VERSION}.tar.gz
42-
'''
43-
),
4437
# Scripts may not be executable on Windows.
4538
bash_exec(
4639
command_type=EvgCommandType.SETUP,
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
from shrub.v3.evg_command import EvgCommandType
2+
from shrub.v3.evg_command import s3_put
3+
from shrub.v3.evg_task import EvgTask
4+
5+
from config_generator.etc.function import Function
6+
from config_generator.etc.function import merge_defns
7+
from config_generator.etc.utils import bash_exec
8+
9+
10+
class MakeDocs(Function):
11+
name = "make-docs"
12+
commands = [
13+
bash_exec(
14+
command_type=EvgCommandType.TEST,
15+
working_dir="mongoc",
16+
include_expansions_in_env=["distro_id"],
17+
script="""\
18+
set -o errexit
19+
bash tools/poetry.sh install --with=docs
20+
bash tools/poetry.sh run bash .evergreen/scripts/build-docs.sh
21+
""",
22+
),
23+
]
24+
25+
@classmethod
26+
def call(cls, **kwargs):
27+
return cls.default_call(**kwargs)
28+
29+
30+
class UploadDocs(Function):
31+
name = "upload-docs"
32+
commands = [
33+
bash_exec(
34+
working_dir="mongoc/_build/for-docs/src/libbson",
35+
env={
36+
"AWS_ACCESS_KEY_ID": "${aws_key}",
37+
"AWS_SECRET_ACCESS_KEY": "${aws_secret}",
38+
},
39+
script="aws s3 cp doc/html s3://mciuploads/${project}/docs/libbson/${CURRENT_VERSION} --quiet --recursive --acl public-read --region us-east-1",
40+
),
41+
s3_put(
42+
aws_key="${aws_key}",
43+
aws_secret="${aws_secret}",
44+
bucket="mciuploads",
45+
content_type="text/html",
46+
display_name="libbson docs",
47+
local_file="mongoc/_build/for-docs/src/libbson/doc/html/index.html",
48+
permissions="public-read",
49+
remote_file="${project}/docs/libbson/${CURRENT_VERSION}/index.html",
50+
),
51+
bash_exec(
52+
working_dir="mongoc/_build/for-docs/src/libmongoc",
53+
env={
54+
"AWS_ACCESS_KEY_ID": "${aws_key}",
55+
"AWS_SECRET_ACCESS_KEY": "${aws_secret}",
56+
},
57+
script="aws s3 cp doc/html s3://mciuploads/${project}/docs/libmongoc/${CURRENT_VERSION} --quiet --recursive --acl public-read --region us-east-1",
58+
),
59+
s3_put(
60+
aws_key="${aws_key}",
61+
aws_secret="${aws_secret}",
62+
bucket="mciuploads",
63+
content_type="text/html",
64+
display_name="libmongoc docs",
65+
local_file="mongoc/_build/for-docs/src/libmongoc/doc/html/index.html",
66+
permissions="public-read",
67+
remote_file="${project}/docs/libmongoc/${CURRENT_VERSION}/index.html",
68+
),
69+
]
70+
71+
@classmethod
72+
def call(cls, **kwargs):
73+
return cls.default_call(**kwargs)
74+
75+
76+
class UploadManPages(Function):
77+
name = "upload-man-pages"
78+
commands = [
79+
bash_exec(
80+
working_dir="mongoc",
81+
silent=True,
82+
script="""\
83+
set -o errexit
84+
# Get "aha", the ANSI HTML Adapter.
85+
git clone --depth 1 https://github.com/theZiz/aha.git aha-repo
86+
pushd aha-repo
87+
make
88+
popd # aha-repo
89+
mv aha-repo/aha .
90+
.evergreen/scripts/man-pages-to-html.sh libbson _build/for-docs/src/libbson/doc/man > bson-man-pages.html
91+
.evergreen/scripts/man-pages-to-html.sh libmongoc _build/for-docs/src/libmongoc/doc/man > mongoc-man-pages.html
92+
""",
93+
),
94+
s3_put(
95+
aws_key="${aws_key}",
96+
aws_secret="${aws_secret}",
97+
bucket="mciuploads",
98+
content_type="text/html",
99+
display_name="libbson man pages",
100+
local_file="mongoc/bson-man-pages.html",
101+
permissions="public-read",
102+
remote_file="${project}/man-pages/libbson/${CURRENT_VERSION}/index.html",
103+
),
104+
s3_put(
105+
aws_key="${aws_key}",
106+
aws_secret="${aws_secret}",
107+
bucket="mciuploads",
108+
content_type="text/html",
109+
display_name="libmongoc man pages",
110+
local_file="mongoc/mongoc-man-pages.html",
111+
permissions="public-read",
112+
remote_file="${project}/man-pages/libmongoc/${CURRENT_VERSION}/index.html",
113+
),
114+
]
115+
116+
@classmethod
117+
def call(cls, **kwargs):
118+
return cls.default_call(**kwargs)
119+
120+
121+
def functions():
122+
return merge_defns(
123+
MakeDocs.defn(),
124+
UploadDocs.defn(),
125+
UploadManPages.defn(),
126+
)
127+
128+
129+
def tasks():
130+
return [
131+
EvgTask(
132+
name="make-docs",
133+
commands=[
134+
MakeDocs.call(),
135+
UploadDocs.call(),
136+
UploadManPages.call(),
137+
],
138+
)
139+
]

.evergreen/config_generator/components/make_release_archive.py

Lines changed: 0 additions & 176 deletions
This file was deleted.

.evergreen/etc/spec.patch

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
+--- mongo-c-driver.spec.orig 2023-07-17 14:42:52.236247070 -0400
2-
++++ mongo-c-driver.spec 2023-07-17 14:43:16.572305452 -0400
1+
--- mongo-c-driver.spec
2+
+++ mongo-c-driver.spec
33
@@ -10,7 +10,7 @@
44
%global gh_project mongo-c-driver
55
%global libname libmongoc
@@ -14,23 +14,23 @@
1414
Name: mongo-c-driver
1515
Summary: Client library written in C for MongoDB
1616
-Version: %{up_version}%{?up_prever:~%{up_prever}}
17-
+Version: %{up_version}%{up_prever}
17+
+Version: %{up_version}%{?up_prever}
1818
Release: 1%{?dist}
1919
# See THIRD_PARTY_NOTICES
2020
License: Apache-2.0 AND ISC AND MIT AND Zlib
21-
@@ -37,7 +37,6 @@
21+
@@ -37,7 +37,6 @@ BuildRequires: openssl-devel
2222
BuildRequires: pkgconfig(libsasl2)
2323
BuildRequires: pkgconfig(zlib)
2424
BuildRequires: pkgconfig(snappy)
2525
-BuildRequires: pkgconfig(icu-uc)
2626
BuildRequires: pkgconfig(libzstd)
2727
%if %{with tests}
2828
BuildRequires: mongodb-server
29-
@@ -123,7 +122,6 @@
30-
-DENABLE_SSL:STRING=OPENSSL \
31-
-DENABLE_SASL:STRING=CYRUS \
32-
-DENABLE_MONGODB_AWS_AUTH:STRING=ON \
33-
- -DENABLE_ICU:STRING=ON \
34-
-DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
35-
-DENABLE_CRYPTO_SYSTEM_PROFILE:BOOL=ON \
36-
-DENABLE_MAN_PAGES:BOOL=ON \
29+
@@ -123,7 +122,6 @@ Documentation: http://mongoc.org/libbson/%{version}/
30+
-DENABLE_SSL:STRING=OPENSSL \
31+
-DENABLE_SASL:STRING=CYRUS \
32+
-DENABLE_MONGODB_AWS_AUTH:STRING=ON \
33+
- -DENABLE_ICU:STRING=ON \
34+
-DENABLE_AUTOMATIC_INIT_AND_CLEANUP:BOOL=OFF \
35+
-DENABLE_CRYPTO_SYSTEM_PROFILE:BOOL=ON \
36+
-DENABLE_MAN_PAGES:BOOL=ON \

0 commit comments

Comments
 (0)