Skip to content

Improve offline build experience for developers #3162

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
Sep 24, 2021

Conversation

9prady9
Copy link
Member

@9prady9 9prady9 commented Jul 27, 2021

Description

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.

Changes to Users

None to users, but Offline development made more easy for developers.

Checklist

  • Rebased on latest master
  • Code compiles
  • Tests pass
  • [ ] Functions added to unified API
  • [ ] Functions documented

@9prady9 9prady9 added this to the 3.8.1 milestone Jul 27, 2021
@9prady9 9prady9 requested a review from umar456 July 27, 2021 06:52
@9prady9 9prady9 force-pushed the improv_offline_build branch from 022c987 to 10bb3a5 Compare July 27, 2021 10:29
@9prady9
Copy link
Member Author

9prady9 commented Jul 27, 2021

Lets wait for microsoft/vcpkg#19166 to be merged so that arrayfire master doesn't break for developers who use vcpkg manifest file.

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 10bb3a5 to 3ff1018 Compare September 20, 2021 07:11
@9prady9 9prady9 force-pushed the improv_offline_build branch from 3ff1018 to e80abde Compare September 20, 2021 09:53
@9prady9 9prady9 merged commit 7995750 into arrayfire:master Sep 24, 2021
@9prady9 9prady9 deleted the improv_offline_build branch September 24, 2021 23:41
9prady9 added a commit to 9prady9/arrayfire that referenced this pull request Sep 24, 2021
* Improve offline build experience for 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.

* Update vcpkg commit in windows github action to required

(cherry picked from commit 7995750)
syurkevi pushed a commit that referenced this pull request Dec 28, 2021
* Improve offline build experience for 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.

* Update vcpkg commit in windows github action to required

(cherry picked from commit 7995750)
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