Skip to content

Improve offline build experience #233

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

Merged
merged 2 commits into from
Jul 26, 2021

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented Jul 26, 2021

Change(s)
Improve offline build experience for forge developers

The following common scenarios(majority we think) are covered with this
change.

  • Developer has cloud connection always.
  • Developer has cloud connection for initial cmake run, but not later.
  • Developer has lost cloud connection for a while after the initial successful cmake run but regained the connection later.
  • Developer is doing an completely disconnected build using the source tarball we generate and attach to our release assets.

When the developer wants to do an offline build for a specific commit other than release tags, they would have to generate the relevant source tarball themselves. The commands required to do the same can be found from the following ci workflow file in our repository.

.github/workflows/release_src_artifact.yml

The source tarball generation CI job has also been changed to reflect the change in external dependencies location.

Current Behavior

Developer needs to manually opt for offline builds using a cmake option.

New Behavior
Offline builds happen automatically.

Breaking Change(s)
None

@9prady9 9prady9 added this to the 1.0.8 milestone Jul 26, 2021
@9prady9 9prady9 requested a review from umar456 July 26, 2021 06:43
@9prady9 9prady9 force-pushed the improv_offline_build branch 2 times, most recently from d9dbfbb to 62b8cd3 Compare July 26, 2021 13:46
9prady9 added 2 commits July 26, 2021 19:19
Presets can be only used if you are using cmake 3.20
The following common scenarios(majority we think) are covered with this
change.
- Developer has cloud connection always.
- Developer has cloud connection for initial cmake run, but not later.
- Developer has lost cloud connection for a while after the initial
  successful cmake run but regained the connection later.
- Developer is doing an completely disconnected build using the source
  tarball we generate and attach to our release assets.

When the developer wants to do an offline build for a specific commit
other than release tags, they would have to generate the relevant source
tarball themselves. The commands required to do the same can be found
from the following ci workflow file in our repository.

.github/workflows/release_src_artifact.yml

The source tarball generation CI job has also been changed to reflect
the change in external dependencies location.
@9prady9 9prady9 force-pushed the improv_offline_build branch from 62b8cd3 to 423592e Compare July 26, 2021 13:49
@9prady9 9prady9 merged commit da1ffc3 into arrayfire:master Jul 26, 2021
@9prady9 9prady9 deleted the improv_offline_build branch July 26, 2021 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants