Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Build Matrix for CI #130

Merged
merged 5 commits into from
Jan 28, 2022
Merged

Conversation

EricGustin
Copy link
Contributor

@EricGustin EricGustin commented Jan 24, 2022

This PR adds various dimensions to the CI build matrix for SmartSim. The build matrix now uses MacOS & Ubuntu, GNU8, RedisAI 1.2.3 & 1.2.5, and Python3.7-3.9. The build matrix excludes building with RedisAI 1.2.5 when on MacOS.

Effort and research was conducted on whether the CI can be ran with the Intel compiler. There is a follow up ticket on these findings.

In addition to the CI build matrix, there were modifications to _core/builder.py by @Spartee that removed the usage of shell=True and replaced it with shell=False as the default behavior for running commands.

@EricGustin EricGustin added the area: CI/CD Issues related to continuous integration and deployment label Jan 24, 2022
@@ -1,4 +1,4 @@
name: run-tests-local
name: build-wheels
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this was a mistake?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should still be testing the wheel builds.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another thought here,

we should add

export SMARTSIM_SUFFIX=develop

prior to the wheel build so the wheels are named with the dirty version.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are still testing the wheel builds. Wheel builds occur in build_wheels.yml and the extended build matrix which will eventually contain code coverage reporting is in run_tests.yml.

I added

env:
    SMARTSIM_SUFFIX: "develop"

to the wheel builds in my most recent push.

if: "contains( matrix.os, 'macos' )"
run: brew install make || true

- name: Install SmartSim on MacOS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can probably collapse the macos and ubuntu stages here into a single run. This decreases the number of docker layers created by the CI and shoul dmake things faster.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed some stuff here and addressed what I believe you were referring to. Let me know if the change is what you were intending.

@Spartee Spartee self-requested a review January 27, 2022 00:47
Copy link
Contributor

@Spartee Spartee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Glad we discussed this.

@Spartee Spartee merged commit 0c74aee into CrayLabs:develop Jan 28, 2022
EricGustin added a commit to EricGustin/SmartSim that referenced this pull request Jan 28, 2022
* Add Build Matrix for CI (CrayLabs#130)

Adds various dimensions to the CI build matrix
for SmartSim. The build matrix now uses MacOS
& Ubuntu, GNU8, RedisAI 1.2.3 & 1.2.5, and
Python 3.7-3.9. The build matrix excludes building
with RedisAI 1.2.5 when on MacOS as RedisAI
temporarily removed support for MacOS in 1.2.4
and 1.2.5

[ committed by @EricGustin and @Spartee ]
[ reviewed by @Spartee ]

* Remove numpy as a dependency (CrayLabs#132)

* Remove np from step.py and requirements

Create a helper function called get_base_36_repr so that we can remove numpy from step.py

Remove numpy from requirements.txt

Pin requirements.dev to a specific version of numpy

* Remove numpy from requirements

* Remove numpy from setup

[ committed by @EricGustin ]
[ reviewed by @Spartee ]
al-rigazzi pushed a commit to al-rigazzi/SmartSim that referenced this pull request Jan 31, 2022
Adds various dimensions to the CI build matrix
for SmartSim. The build matrix now uses MacOS
& Ubuntu, GNU8, RedisAI 1.2.3 & 1.2.5, and
Python 3.7-3.9. The build matrix excludes building
with RedisAI 1.2.5 when on MacOS as RedisAI
temporarily removed support for MacOS in 1.2.4
and 1.2.5

[ committed by @EricGustin and @Spartee ]
[ reviewed by @Spartee ]
@EricGustin EricGustin deleted the smartsim-build-matrix branch February 18, 2022 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: CI/CD Issues related to continuous integration and deployment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants