Skip to content

Build - Staging

Build - Staging #34

name: Build - Staging
on:
workflow_dispatch:
env:
MAKE_DEBUG: 0
GIT_VERSION: 1
jobs:
linux-x64:
runs-on: ubuntu-latest
env:
TARGET: x86_64-pc-linux-gnu
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Build and package
run: ./make.sh docker-release
- name: Publish artifacts
uses: actions/upload-artifact@v3
with:
name: defichain-${{ env.BUILD_VERSION }}-x86_64-pc-linux-gnu
path: ./build/defichain-${{ env.BUILD_VERSION }}-x86_64-pc-linux-gnu.tar.gz
linux-aarch64:
runs-on: ubuntu-latest
env:
TARGET: aarch64-linux-gnu
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Build and package
run: ./make.sh docker-release
- name: Publish artifact - aarch64-linux-gnu
uses: actions/upload-artifact@v3
with:
name: defichain-${{ env.BUILD_VERSION }}-aarch64-linux-gnu
path: ./build/defichain-${{ env.BUILD_VERSION }}-aarch64-linux-gnu.tar.gz
win-x64:
runs-on: ubuntu-latest
env:
TARGET: x86_64-w64-mingw32
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Build and package
run: ./make.sh docker-release
- name: Publish artifact - x86_64-w64-mingw32
uses: actions/upload-artifact@v3
with:
name: defichain-${{ env.BUILD_VERSION }}-x86_64-w64-mingw32
path: ./build/defichain-${{ env.BUILD_VERSION }}-x86_64-w64-mingw32.tar.gz
osx-x64:
runs-on: ubuntu-latest
env:
TARGET: x86_64-apple-darwin
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Build and package
run: ./make.sh docker-release
- name: Publish artifact - x86_64-apple-darwin
uses: actions/upload-artifact@v3
with:
name: defichain-${{ env.BUILD_VERSION }}-x86_64-apple-darwin
path: ./build/defichain-${{ env.BUILD_VERSION }}-x86_64-apple-darwin.tar.gz
osx-aarch64:
runs-on: ubuntu-latest
env:
TARGET: aarch64-apple-darwin
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Build and package
run: ./make.sh docker-release
- name: Publish artifact - aarch64-apple-darwin
uses: actions/upload-artifact@v3
with:
name: defichain-${{ env.BUILD_VERSION }}-aarch64-apple-darwin
path: ./build/defichain-${{ env.BUILD_VERSION }}-aarch64-apple-darwin.tar.gz
# We keep the flow as similar as close to release flow as possible
# to validate change before it gets into release, even though
# these don't create end artifacts to use
stage-release:
needs:
- linux-x64
- linux-aarch64
- win-x64
- osx-x64
- osx-aarch64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Populate environment
run: ./make.sh ci-export-vars
- name: Cleanup work dir
run: rm -rf *
- name: Get artifacts
uses: actions/download-artifact@v3
- name: zip package for win-x64
run: |
set -e; ver=${{ env.BUILD_VERSION }}
cd defichain-${ver}-x86_64-w64-mingw32
tar xzf defichain-${ver}-x86_64-w64-mingw32.tar.gz
zip -r "defichain-${ver}-x86_64-w64-mingw32.zip" defichain-${ver}/
- name: Generate SHA256 checksum
run: |
set -e; ver=${{ env.BUILD_VERSION }}
(cd ./defichain-${ver}-x86_64-pc-linux-gnu
sha256sum ./defichain-${ver}-x86_64-pc-linux-gnu.tar.gz > ./defichain-${ver}-x86_64-pc-linux-gnu.tar.gz.SHA256)
(cd ./defichain-${ver}-aarch64-linux-gnu
sha256sum ./defichain-${ver}-aarch64-linux-gnu.tar.gz > ./defichain-${ver}-aarch64-linux-gnu.tar.gz.SHA256)
(cd ./defichain-${ver}-x86_64-w64-mingw32
sha256sum ./defichain-${ver}-x86_64-w64-mingw32.zip > ./defichain-${ver}-x86_64-w64-mingw32.zip.SHA256)
(cd ./defichain-${ver}-x86_64-apple-darwin
sha256sum ./defichain-${ver}-x86_64-apple-darwin.tar.gz > ././defichain-${ver}-x86_64-apple-darwin.tar.gz.SHA256)
(cd ./defichain-${ver}-aarch64-apple-darwin
sha256sum ./defichain-${ver}-aarch64-apple-darwin.tar.gz > ././defichain-${ver}-aarch64-apple-darwin.tar.gz.SHA256)