Skip to content

Update build.yaml

Update build.yaml #2

Workflow file for this run

---
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 }}