Skip to content

Commit

Permalink
Revamp evergreen builds and add tags for pull requests (#1593)
Browse files Browse the repository at this point in the history
  • Loading branch information
alcaeus authored Jun 26, 2024
1 parent 2b545c3 commit 7e11f6e
Show file tree
Hide file tree
Showing 46 changed files with 601 additions and 265 deletions.
35 changes: 23 additions & 12 deletions .evergreen/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,24 @@ post:
- func: "stop load balancer"
- func: "cleanup"

# Define aliases for patch builds and PR builds. These only apply if no aliases are defined in project settings
github_pr_aliases:
# Run all build tasks, except on Power8 and zSeries due to low number of build hardware
- variant: "^build-[^-]+($|-arm64)"
# Define aliases for patch builds and PR builds. These only apply if no aliases are defined in project and repo settings
github_pr_aliases: &github_pr_aliases
# Run all tasks in PR variants for PHP 8.3
- variant_tags: ["php8.3", "pr"]
task: ".*"
# Run PR tasks for PR variants
- variant_tags: ["pr"]
task_tags: ["pr"]

commit_queue_aliases: *github_pr_aliases

patch_aliases:
- alias: pull-request
variant_tags: ["pr"]
task_tags: ["pr"]
- alias: pull-request-latest-php
variant_tags: ["php8.3", "pr"]
task: ".*"
# Run tests on debian, only testing local replicasets with authentication enabled
- variant: "test-.*"
task: "test-mongodb-.*-replicaset-auth"

# Include files that contain various tasks, task groups, and build variant definitions
include:
Expand Down Expand Up @@ -79,8 +89,9 @@ include:
- filename: .evergreen/config/generated/test/skip-crypt-shared-rapid.yml
- filename: .evergreen/config/generated/test/skip-crypt-shared-7.0.yml
- filename: .evergreen/config/generated/test/skip-crypt-shared-6.0.yml
- filename: .evergreen/config/generated/test-variant/latest-php-8.3.yml
- filename: .evergreen/config/generated/test-variant/replicaset-php-8.2.yml
- filename: .evergreen/config/generated/test-variant/replicaset-php-8.1.yml
- filename: .evergreen/config/generated/test-variant/replicaset-php-8.0.yml
- filename: .evergreen/config/generated/test-variant/replicaset-php-7.4.yml
- filename: .evergreen/config/generated/test-variant/full-php-8.3.yml
- filename: .evergreen/config/generated/test-variant/full-php-8.2.yml
- filename: .evergreen/config/generated/test-variant/full-php-8.1.yml
- filename: .evergreen/config/generated/test-variant/full-php-8.0.yml
- filename: .evergreen/config/generated/test-variant/full-php-7.4.yml
- filename: .evergreen/config/generated/test-variant/libmongoc-php-8.3.yml
26 changes: 13 additions & 13 deletions .evergreen/config/build-variants.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,84 +5,84 @@ buildvariants:
# Debian
- name: build-debian11
display_name: "Build: Debian 11"
tags: ["build", "debian", "x64"]
tags: ["build", "debian", "x64", "pr", "tag"]
run_on: debian11-small
tasks:
- name: "build-all-php"
- name: "build-php-libmongoc"
- name: build-debian10
display_name: "Build: Debian 10"
tags: ["build", "debian", "x64"]
tags: ["build", "debian", "x64", "pr", "tag"]
run_on: debian10-small
tasks:
- name: "build-all-php"
- name: build-debian92
display_name: "Build: Debian 9.2"
tags: ["build", "debian", "x64"]
tags: ["build", "debian", "x64", "pr", "tag"]
run_on: debian92-small
tasks:
- name: "build-all-php"

# RHEL
- name: build-rhel90
display_name: "Build: RHEL 9.0"
tags: ["build", "rhel", "x64"]
tags: ["build", "rhel", "x64", "pr", "tag"]
run_on: rhel90-small
tasks:
- name: "build-php-openssl3"
- name: build-rhel83-zseries
display_name: "Build: RHEL 8.3 Zseries"
tags: ["build", "rhel", "zseries"]
tags: ["build", "rhel", "zseries", "tag"]
run_on: rhel83-zseries-small
tasks:
- name: "build-all-php"
- name: build-rhel82-arm64
display_name: "Build: RHEL 8.2 ARM64"
tags: ["build", "rhel", "arm64"]
tags: ["build", "rhel", "arm64", "tag"]
run_on: rhel82-arm64
tasks:
- name: "build-all-php"
- name: build-rhel81-power8
display_name: "Build: RHEL 8.1 Power8"
tags: ["build", "rhel", "power8"]
tags: ["build", "rhel", "power8", "tag"]
run_on: rhel81-power8-large
tasks:
- name: "build-all-php"
- name: build-rhel80
display_name: "Build: RHEL 8.0"
tags: ["build", "rhel", "x64"]
tags: ["build", "rhel", "x64", "pr", "tag"]
run_on: rhel80-small
tasks:
- name: "build-all-php"
- name: build-rhel76
display_name: "Build: RHEL 7.6"
tags: ["build", "rhel", "x64"]
tags: ["build", "rhel", "x64", "pr", "tag"]
run_on: rhel76-small
tasks:
- name: "build-all-php"

# Ubuntu LTS
- name: build-ubuntu2204
display_name: "Build: Ubuntu 22.04 x64"
tags: ["build", "ubuntu", "x64"]
tags: ["build", "ubuntu", "x64", "pr", "tag"]
run_on: ubuntu2204-small
tasks:
- name: "build-php-openssl3"
- name: build-ubuntu2204-arm64
display_name: "Build: Ubuntu 22.04 ARM64"
tags: ["build", "ubuntu", "arm64"]
tags: ["build", "ubuntu", "arm64", "tag"]
run_on: ubuntu2204-arm64-small
tasks:
- name: "build-php-openssl3"
- name: build-ubuntu2004
display_name: "Build: Ubuntu 20.04 x64"
tags: ["build", "ubuntu", "x64"]
tags: ["build", "ubuntu", "x64", "tag"]
run_on: ubuntu2004-small
tasks:
- name: "build-all-php"
- name: build-ubuntu2004-arm64
display_name: "Build: Ubuntu 20.04 ARM64"
tags: ["build", "ubuntu", "arm64"]
tags: ["build", "ubuntu", "arm64", "tag"]
run_on: ubuntu2004-arm64-small
tasks:
- name: "build-all-php"
4 changes: 2 additions & 2 deletions .evergreen/config/generate-config.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@
$allFiles[] = generateConfigs('test', 'mongodbVersion', 'skip-crypt-shared.yml', 'skip-crypt-shared-%s', $skipCryptSharedServerVersions);

// Test variants
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'latest.yml', 'latest-php-%s', [$latestPhpVersion]);
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'replicaset-only.yml', 'replicaset-php-%s', array_diff($supportedPhpVersions, [$latestPhpVersion]));
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'full.yml', 'full-php-%s', $supportedPhpVersions);
$allFiles[] = generateConfigs('test-variant', 'phpVersion', 'libmongoc.yml', 'libmongoc-php-%s', [$latestPhpVersion]);

echo "Generated config. Use the following list to import files:\n";
echo implode("\n", array_map('getImportConfig', array_merge(...$allFiles))) . "\n";
Expand Down
2 changes: 1 addition & 1 deletion .evergreen/config/generated/build/build-php-7.4.yml

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

2 changes: 1 addition & 1 deletion .evergreen/config/generated/build/build-php-8.0.yml

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

2 changes: 1 addition & 1 deletion .evergreen/config/generated/build/build-php-8.1.yml

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

2 changes: 1 addition & 1 deletion .evergreen/config/generated/build/build-php-8.2.yml

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

2 changes: 1 addition & 1 deletion .evergreen/config/generated/build/build-php-8.3.yml

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

57 changes: 57 additions & 0 deletions .evergreen/config/generated/test-variant/full-php-7.4.yml

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

57 changes: 57 additions & 0 deletions .evergreen/config/generated/test-variant/full-php-8.0.yml

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

57 changes: 57 additions & 0 deletions .evergreen/config/generated/test-variant/full-php-8.1.yml

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

Loading

0 comments on commit 7e11f6e

Please sign in to comment.