Adds workflows to build release binaries and push to S3#315
Adds workflows to build release binaries and push to S3#315madolson merged 9 commits intovalkey-io:unstablefrom
Conversation
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
4a41c8f to
c3e9a10
Compare
hpatro
left a comment
There was a problem hiding this comment.
LGTM. How did we test this?
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
d7406e8 to
deeb9a8
Compare
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
| with: | ||
| arch: aarch64 | ||
| distro: ${{matrix.distro.target}} | ||
| install: apt-get update && apt-get install -y build-essential libssl-dev libjemalloc-dev |
There was a problem hiding this comment.
Why are you including libejemalloc-dev? We aren't linking against it.
madolson
left a comment
There was a problem hiding this comment.
Took a bit of a deeper look, The code looks mostly fine, but had some minor comments.
|
|
||
| - name: Configure AWS credentials | ||
| run: | | ||
| aws configure set region us-east-1 |
There was a problem hiding this comment.
I think the bucket was in us-west-2? Does this even matter?
There was a problem hiding this comment.
But I will change to the correct location
| jobs: | ||
| build-valkey: | ||
| # Capture source tarball and generate checksum for it | ||
| name: Build package ${{ matrix.distro.target }} ${{ matrix.distro.arch }} |
There was a problem hiding this comment.
| name: Build package ${{ matrix.distro.target }} ${{ matrix.distro.arch }} | |
| name: Build package ${{ matrix.distro.target }} ${{ matrix.distro.arch }} |
| @@ -0,0 +1,79 @@ | |||
| name: Reusable workflow to build binary packages into S3 bucket | |||
There was a problem hiding this comment.
This isn't really that re-usable if it's only used for linux.
There was a problem hiding this comment.
This can also be used to build Nightly/Weekly build. I will remove it from the description for now, might add it later.
| ref: ${{ inputs.version }} | ||
|
|
||
| - name: Install dependencies | ||
| run: sudo apt-get update && sudo apt-get install -y build-essential libssl-dev jq wget |
There was a problem hiding this comment.
Seems weird we wouldn't install aws cli here as well.
| run: sudo apt-get update && sudo apt-get install -y build-essential libssl-dev jq wget | ||
|
|
||
| - name: Set JEMALLOC Flags | ||
| run: JEMALLOC_CONFIGURE_OPTS="--with-lg-page=16" |
There was a problem hiding this comment.
Why are we configuring the lg-page to be 16? This will use more memory.
There was a problem hiding this comment.
Yes just realized it may also increase chances of fragmentation I guess. Removing this.
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
madolson
left a comment
There was a problem hiding this comment.
I think it's okay to start with, then we can test it with 7.2.5 release.
[related to](valkey-io#230) Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from `utils/releasetools/build-config.json` and then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket. --------- Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
[related to](valkey-io#230) Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from `utils/releasetools/build-config.json` and then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket. --------- Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
[related to](valkey-io#230) Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from `utils/releasetools/build-config.json` and then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket. --------- Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
[related to](valkey-io#230) Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from `utils/releasetools/build-config.json` and then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket. --------- Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
…315) (#857) [related to](#230) Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from `utils/releasetools/build-config.json` and then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket. --------- Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>


related to
Adds workflows to build Valkey binaries and push to S3 to make it available to download from the website
I have commented the macOS build code as we need code-sign the binaries for Mac and need more info on that.
The Workflows can be triggered by pushing a release to the repo and the other option is manually by one of the Maintainers. For example:

Once the workflow triggers, it will generate a matrix of Jobs for the platforms we need to build from
utils/releasetools/build-config.jsonand then the respective Jobs are triggered. These jobs make Valkey with respect to the platform binaries we want to release and would push to a private S3 bucket.