Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions config/repo-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
services:
notary_url: "http://notary-service.build.10gen.cc:5000"

templates:
deb:
org: |
Origin: mongodb
Label: mongodb
Suite: {{ .CodeName }}
Codename: {{ .CodeName }}/mongodb-org
Architectures: {{ .Architectures }}
Components: {{ .Component }}
Description: MongoDB packages
enterprise: |
Origin: mongodb
Label: mongodb
Suite: {{ .CodeName }}
Codename: {{ .CodeName }}/mongodb-enterprise
Architectures: {{ .Architectures }}
Components: {{ .Component }}
Description: MongoDB packages
index_page: |
<!DOCTYPE html>
<html>
<head>
<title>{{ .Title }}</title>
</head>
<body>
<table>
<tr><td>
<h1>{{ .Title }}</h1>
</td></tr>
<tr><td>
<hr>
</td></tr>
<tr><td>
<a href='..'>Parent Directory</a>
</td></tr>
{{ range $fn := .Files }}
<tr><td>
<a href='{{ $fn }}'>{{ $fn }}</a>
</td></tr>
{{ end }}
<tr><td>
<hr>
</td></tr>
<tr><td>
<address>{{ .RepoName }}</address>
</td></tr>
</table>
</body>
</html>
repos:

####################
#
# Community Repos:
#
####################

- name: debian10
type: deb
code_name: "buster"
bucket: repo.mongodb.org
edition: org
component: main
architectures:
- amd64
repos:
- apt/debian/dists/buster/mongodb-org

- name: ubuntu1804
type: deb
code_name: "bionic"
edition: org
bucket: repo.mongodb.org
component: multiverse
architectures:
- amd64
repos:
- apt/ubuntu/dists/bionic/mongodb-org

- name: rhel80
type: rpm
edition: org
bucket: repo.mongodb.org
repos:
- yum/redhat/8/mongodb-org
- yum/redhat/8Server/mongodb-org
119 changes: 116 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
"eslint-config-mongodb-js": "^5.0.3",
"eslint-plugin-mocha": "^6.2.2",
"fs-extra": "^8.1.0",
"gunzip-maybe": "^1.4.2",
"handlebars": "^4.7.6",
"js-yaml": "^3.13.1",
"karma": "^4.4.1",
Expand All @@ -98,6 +99,7 @@
"mongodb-js-precommit": "^2.0.0",
"mongodb-runner": "^4.7.5",
"node-codesign": "github:addaleax/node-codesign",
"node-fetch": "^2.6.1",
"parcel-bundler": "^1.12.4",
"pkg": "^4.4.3",
"pkg-deb": "^1.1.1",
Expand All @@ -107,6 +109,8 @@
"sinon": "^7.5.0",
"sinon-chai": "^3.4.0",
"tar": "^6.0.1",
"tar-fs": "^2.1.0",
"tmp-promise": "^3.0.2",
"ts-node": "^8.5.2",
"ts-sinon": "^1.2.0",
"typescript": "^3.9.7",
Expand Down
46 changes: 27 additions & 19 deletions packages/build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,33 @@ root of the project.

Current build and release flow is as follows:

- `npm run evergreen-release package
- A commit triggers an evergreen build based on currently available build
variants: MacOS, Windows, Linux, Debian, and RedHat.
- MacOS, Linux and Windows run three tasks: check, test, and release. Debian and
Redhat run two tasks: check and release. Debian and Redhat also depend on
tests to pass on Linux.
- Identical bundle and binary are built on all five variants.
- Each variant creates its own tarball (`.zip`, `.tgz`, `.deb`, `.rpm`). Type of
tarball is determined by the current build variant.
- Each variant uploads its own tarball to Evergreen’s AWS.
- MacOS build variant uploads config file with information about the new version
for each platform to Downloads Centre. This only happens on a tagged commit.
- MacOS build variant creates a github release. This only happens on a tagged
commit.
- The five build variants run in parallel.
- `npm run evergreen-release publish`
- All the previous build steps succeeded.
- A separate MacOS build variant (darwin_publish_release) uploads config file with information about the new version for each platform to Downloads Centre. This only happens on a tagged commit.
- A separate MacOS build variant (darwin_publish_release) promotes the draft github release to public. This only happens on a tagged commit.
### `npm run evergreen-release package`
- A commit triggers an evergreen build based on currently available build
variants: MacOS, Windows, Linux, Debian, and RedHat.
- MacOS, Linux and Windows run three tasks: check, test, and release. Debian and
Redhat run two tasks: check and release. Debian and Redhat also depend on
tests to pass on Linux.
- Identical bundle and binary are built on all five variants.
- Each variant creates its own tarball (`.zip`, `.tgz`, `.deb`, `.rpm`). Type of
tarball is determined by the current build variant.
- Each variant uploads its own tarball to Evergreen’s AWS.
- Linux build variants upload their artifacts to `barque` using
[`curator`](https://github.com/mongodb/curator) to be used with MongoDB's PPA. The uploaded packages can be found under the following URLs:
1. Ubuntu: https://repo.mongodb.org/apt/ubuntu/dists/bionic/mongodb-org/4.4/multiverse/binary-amd64/
2. Redhat: https://repo.mongodb.org/yum/redhat/8Server/mongodb-org/4.4/x86_64/RPMS/
3. Debian: https://repo.mongodb.org/apt/debian/dists/buster/mongodb-org/4.4/main/binary-amd64/
- MacOS build variant uploads config file with information about the new version
for each platform to Downloads Centre. This only happens on a tagged commit.
- MacOS build variant creates a github release. This only happens on a tagged
commit.
- The five build variants run in parallel.
### `npm run evergreen-release publish`
- All the previous build steps succeeded.
- A separate MacOS build variant (darwin_publish_release) uploads config file
with information about the new version for each platform to Downloads Centre.
This only happens on a tagged commit.
- A separate MacOS build variant (darwin_publish_release) promotes the draft
github release to public. This only happens on a tagged commit.

![build flow][build-img]

Expand Down
Loading