Files
stacks-puppet-node/.github/workflows/build-source-binary.yml
wileyj 8a7a371227 Update github action CI workflow (#3199)
* Updating Github Action

- build all release images from binaries
- create checksum of binary artifacts for release
- adds clippy and crate advisory actions
- update all dockerfiles to use ramdisk for building
- separate actions to relevant files
- adds arm64 binaries/docker image
- update all debian builds to use bullseye (latest debian)

* only run btc int tests on default branch

* enable btc int test on develop

* Feat/update ci (#38)

* Updating Github Action

- build all release images from binaries
- create checksum of binary artifacts for release
- adds clippy and crate advisory actions
- update all dockerfiles to use ramdisk for building
- separate actions to relevant files
- adds arm64 binaries/docker image
- update all debian builds to use bullseye (latest debian)

* only run btc int tests on default branch

* final action test

disabled a lot of the long-running tests

* Update ci.yml

* Update ci.yml

* Update bitcoin-tests.yml

* Update bitcoin-tests.yml

* run on push to master (merge)

* Update Github Actions

- build all release images from binaries
- create checksum of binary artifacts for release
- adds clippy and crate advisory actions
- update all dockerfiles to use ramdisk for building
- separate actions to relevant files
- adds arm64 binaries/docker image
- update all debian builds to use bullseye (latest debian)

* adding  build features to dockerfiles

* update repo org to stacks-network

missed a ref to wileyj forked repo

* addressing comments in pr 3199

see https://github.com/stacks-network/stacks-blockchain/pull/3199 for changes requested

* cleaning up docker tags

prevent overwriting of docker image branch tags

* disabling audit workflow

disabling this workflow until we can test further

* Adding a release file

* Update to trigger logic

Updating the logic of how/when builds and releases happen based on comments in PR.
Updated the RELEASING.md file to reflect these changes

* chore: delete circle.yml

CircleCI hasn't been used in 11+ months.

Fixes #3072

* switch repo&owner to var

remove hardcoded value in favor or `GITHUB_REPOSITORY`

* use local workflows

* fix: don't assume that the bitcoin node always gives a non-zero number of headers

* fix: add unit test and change log entry

* fix: Exclude benchmarks from compilation

* fix: Resolve conflicts and the remaining two errors

* clean: remove benchmark files

* fix: use explicit version number

* minor update to reconcile diffs

since some files were renamed, some minor changes had to be made manually here, i.e. fail_ci_if_error: false

* hardcode some vals for testing

* revert

* use org/repo locations for jobs

testing the locally built packages/docker images is successful, this reverts those changes need for testing the resulting artifacts

* Moving file to docs dir

* continue build if unit-tests fail

use current settings from master branch

* 3199 - minor updates for recent upstream changes

---------

Co-authored-by: Diwaker Gupta <15990+diwakergupta@users.noreply.github.com>
Co-authored-by: Jude Nelson <judecn@gmail.com>
Co-authored-by: Stjepan Golemac <stjepan.golemac@gmail.com>
2023-06-06 13:43:41 -07:00

66 lines
2.0 KiB
YAML

##
## Builds binary assets of stacks-blockchain and creates a named tag github (draft) release
##
name: Build Distributable Assets
# Only run when:
# - manually triggered via the ci.yml workflow with a provided input tag
on:
workflow_call:
inputs:
tag:
description: "Tag name of this release (x.y.z)"
required: true
type: string
parallel_jobs:
description: "Number of parallel binary builds"
required: false
type: number
default: 4
arch:
description: "Stringified JSON object listing of platform matrix"
required: true
type: string
jobs:
artifact:
if: ${{ inputs.tag != '' }}
name: Create Artifacts
runs-on: ubuntu-latest
strategy:
max-parallel: ${{ inputs.parallel_jobs }}
matrix:
platform: ${{ fromJson(inputs.arch) }}
steps:
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Set Vars
id: set_vars
run: |
echo "GITHUB_SHA_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "GITHUB_REF_SHORT=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up Docker Buildx
id: setup_buildx
uses: docker/setup-buildx-action@v2
- name: Build Binaries
id: build_binaries
uses: docker/build-push-action@v3
with:
file: build-scripts/Dockerfile.${{ matrix.platform }}
outputs: type=local,dest=./release/${{ matrix.platform }}
build-args: |
OS_ARCH=${{ matrix.platform }}
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}
- name: Compress artifact
id: compress_artifact
run: zip --junk-paths ${{ matrix.platform }} ./release/${{ matrix.platform }}/*
- name: Upload artifact
id: upload_artifact
uses: actions/upload-artifact@v3
with:
path: ${{ matrix.platform }}.zip