Skip to content
New issue

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

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

Already on GitHub? # 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
@EricGustin EricGustin requested a review from Spartee January 24, 2022 21:03
@@ -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
# for free to join this conversation on GitHub. Already have an account? # 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