Update build.yaml #2
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Vkax Build | |
on: | |
push: | |
branches: | |
- main | |
- v100.10.3* | |
- develop | |
pull_request: | |
branches: | |
- develop | |
env: | |
COIN_NAME: vkax | |
BUILD_DIR: vkax-build | |
COMPRESS_DIR: vkax-compress | |
TEST_LOG_ARTIFACT_DIR: test-logs | |
jobs: | |
checking-build-version: | |
name: Get Version | |
runs-on: ubuntu-latest | |
steps: | |
- name: Triggered By | |
run: | | |
echo "checking out $GITHUB_REF triggered by $GITHUB_EVENT_NAME" | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Read versions | |
id: versions | |
uses: christian-draeger/[email protected] | |
with: | |
path: build.properties | |
properties: 'release-version snapshot-version' | |
- name: Choose version | |
id: selected-version | |
shell: bash | |
run: | | |
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]] || [[ "$GITHUB_REF" == *develop ]] || [[ "$GITHUB_REF" == *v100.10.3* ]]; then | |
version=${{ steps.versions.outputs.snapshot-version }} | |
elif [[ "$GITHUB_EVENT_NAME" != "pull_request" ]] && [[ "$GITHUB_REF" == "refs/heads/main" ]]; then | |
version=${{ steps.versions.outputs.release-version }} | |
fi | |
echo "version is: [$version]" | |
echo "version=$version" >> $GITHUB_OUTPUT | |
echo "BUILD_VERSION=$version" > version.txt | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: version | |
path: version.txt | |
outputs: | |
version: ${{ steps.selected-version.outputs.version }} | |
build-macos11: | |
name: MacOS 11 build | |
needs: checking-build-version | |
runs-on: macos-11 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
brew install automake libtool pkg-config miniupnpc librsvg libnatpmp zeromq python | |
pip3 install ds_store mac_alias setuptools | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j8 | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/x86_64-apple-darwin20.6.0 | |
- name: build binary | |
run: | | |
make -j8 | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
strip $BUILD_DIR/* | |
- name: generate checksum and compress | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
shasum vkax-cli >> checksums.txt | |
openssl sha256 vkax-cli >> checksums.txt | |
shasum vkaxd >> checksums.txt | |
openssl sha256 vkaxd >> checksums.txt | |
shasum vkax-qt >> checksums.txt | |
openssl sha256 vkax-qt >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
shasum ${COMPRESS_DIR}/${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
openssl sha256 ${COMPRESS_DIR}/${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
cat ${COMPRESS_DIR}/checksums.txt | |
- name: Upload Binary Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-macos11-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
- name: Generate Macos dmg files | |
run: | | |
make deploy | |
- name: Upload dmg file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-macos11-dmg-${{ env.BUILD_VERSION }} | |
path: Vkax-Qt.dmg | |
build-macos12: | |
name: MacOS 12 build | |
needs: checking-build-version | |
runs-on: macos-12 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
brew install automake libtool pkg-config miniupnpc librsvg libnatpmp zeromq python | |
pip3 install ds_store mac_alias setuptools | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j8 | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/x86_64-apple-darwin21.6.0 | |
- name: build binary | |
run: | | |
make -j8 | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
strip $BUILD_DIR/* | |
- name: generate checksum and compress | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
shasum vkax-cli >> checksums.txt | |
openssl sha256 vkax-cli >> checksums.txt | |
shasum vkaxd >> checksums.txt | |
openssl sha256 vkaxd >> checksums.txt | |
shasum vkax-qt >> checksums.txt | |
openssl sha256 vkax-qt >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
shasum ${COMPRESS_DIR}/${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
openssl sha256 ${COMPRESS_DIR}/${COIN_NAME}-macos-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
cat ${COMPRESS_DIR}/checksums.txt | |
- name: Upload Binary Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-macos12-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
- name: Generate Macos dmg files | |
run: | | |
make deploy | |
- name: Upload dmg file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-macos12-dmg-${{ env.BUILD_VERSION }} | |
path: Vkax-Qt.dmg | |
build-ubuntu20: | |
name: Ubuntu 20 build | |
needs: checking-build-version | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils cmake | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j$(nproc) | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/x86_64-pc-linux-gnu | |
- name: build binary | |
run: | | |
make -j$(nproc) | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
strip $BUILD_DIR/* | |
- name: generate checksum and compress | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
echo "sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
shasum * >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
echo "openssl-sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
sha256sum * >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-ubuntu20-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-ubuntu20-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
shasum ${COMPRESS_DIR}/${COIN_NAME}-ubuntu20-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
sha256sum ${COMPRESS_DIR}/${COIN_NAME}-ubuntu20-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
cat ${COMPRESS_DIR}/checksums.txt | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-ubuntu20-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
build-ubuntu22: | |
name: Ubuntu 22 build | |
needs: checking-build-version | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils cmake | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j$(nproc) | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/x86_64-pc-linux-gnu | |
- name: build binary | |
run: | | |
make -j$(nproc) | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
strip $BUILD_DIR/* | |
- name: generate checksum and compress | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
echo "sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
shasum * >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
echo "openssl-sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
sha256sum * >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-ubuntu22-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-ubuntu22-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
shasum ${COMPRESS_DIR}/${COIN_NAME}-ubuntu22-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
sha256sum ${COMPRESS_DIR}/${COIN_NAME}-ubuntu22-${{ needs.get-version.outputs.version }}.tar.gz >> ${COMPRESS_DIR}/checksums.txt | |
cat ${COMPRESS_DIR}/checksums.txt | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-ubuntu22-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
build-win: | |
name: Windows build | |
needs: checking-build-version | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
sudo apt-get install curl build-essential libtool autotools-dev automake pkg-config python3 bsdmainutils cmake | |
sudo apt-get install -y g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 | |
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix | |
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j$(nproc) HOST=x86_64-w64-mingw32 | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 | |
- name: build binary | |
run: | | |
make -j$(nproc) | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli.exe,vkaxd.exe,qt/vkax-qt.exe} $BUILD_DIR/ | |
strip $BUILD_DIR/* | |
- name: generate checksum and compress | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
echo "sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
shasum * >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
echo "openssl-sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
sha256sum * >> checksums.txt | |
cat checksums.txt | |
cd .. | |
zip -r ${COIN_NAME}-win-${{ needs.get-version.outputs.version }}.zip $BUILD_DIR/ | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-win-${{ needs.get-version.outputs.version }}.zip ${COMPRESS_DIR}/ | |
shasum ${COMPRESS_DIR}/${COIN_NAME}-win-${{ needs.get-version.outputs.version }}.zip >> ${COMPRESS_DIR}/checksums.txt | |
sha256sum ${COMPRESS_DIR}/${COIN_NAME}-win-${{ needs.get-version.outputs.version }}.zip >> ${COMPRESS_DIR}/checksums.txt | |
cat ${COMPRESS_DIR}/checksums.txt | |
- name: Upload Binary Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-win-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
build-ubuntu20-arm-64: | |
name: Ubuntu 20 ARM 64 bit build | |
needs: checking-build-version | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
sudo apt-get install curl build-essential libtool g++-aarch64-linux-gnu autotools-dev automake pkg-config python3 bsdmainutils cmake | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j$(nproc) HOST=aarch64-linux-gnu | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/aarch64-linux-gnu | |
- name: build binary | |
run: | | |
make -j$(nproc) | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
- name: generate checksum and compress binary | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
echo "sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
shasum * >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
echo "openssl-sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
sha256sum * >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
cd ${COMPRESS_DIR} | |
echo "sha256: `shasum ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz`" >> checksums.txt | |
echo "openssl-sha256: `sha256sum ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz`" >> checksums.txt | |
cat checksums.txt | |
cd .. | |
- name: Upload Binary Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-ubuntu20-arm64-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} | |
build-ubuntu22-arm-64: | |
name: Ubuntu 22 ARM 64 bit build | |
needs: checking-build-version | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Getting Version | |
uses: actions/download-artifact@v4 | |
- name: Install Required Packages | |
run: | | |
sudo apt-get update -y | |
sudo apt-get upgrade -y | |
sudo apt-get install curl build-essential libtool g++-aarch64-linux-gnu autotools-dev automake pkg-config python3 bsdmainutils cmake | |
- name: build depends | |
run: | | |
echo "building with $(nproc) threads" | |
export FALLBACK_DOWNLOAD_PATH=https://pool.nowput.org/depends/ | |
make -C depends -j$(nproc) HOST=aarch64-linux-gnu | |
- name: configure | |
run: | | |
./autogen.sh | |
./configure --prefix=`pwd`/depends/aarch64-linux-gnu | |
- name: build binary | |
run: | | |
make -j$(nproc) | |
mkdir -p $BUILD_DIR | |
mv src/{vkax-cli,vkaxd,qt/vkax-qt} $BUILD_DIR/ | |
- name: generate checksum and compress binary | |
run: | | |
echo "buildng $BUILD_VERSION version" | |
cd $BUILD_DIR | |
echo "sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
shasum * >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
echo "openssl-sha256:" >> checksums.txt | |
echo "------------------------------------" >> checksums.txt | |
sha256sum * >> checksums.txt | |
cat checksums.txt | |
cd .. | |
tar -cvzf ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz $BUILD_DIR/* | |
mkdir -p ${COMPRESS_DIR} | |
mv ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz ${COMPRESS_DIR}/ | |
cd ${COMPRESS_DIR} | |
echo "sha256: `shasum ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz`" >> checksums.txt | |
echo "openssl-sha256: `sha256sum ${COIN_NAME}-arm64-${{ needs.get-version.outputs.version }}.tar.gz`" >> checksums.txt | |
cat checksums.txt | |
cd .. | |
- name: Upload Binary Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.COIN_NAME }}-ubuntu22-arm64-${{ env.BUILD_VERSION }} | |
path: ${{ env.COMPRESS_DIR }} |