Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Modify difficulty validation for early blocks #308

Modify difficulty validation for early blocks

Modify difficulty validation for early blocks #308

Workflow file for this run

name: Build check
on:
push:
branches:
- "**"
tags-ignore:
- "*" # We don't want this to run on release
pull_request:
jobs:
build-windows:
name: Windows
runs-on: windows-2022
env:
BOOST_ROOT: C:\thirdparties\boost-1.83.0
steps:
- uses: actions/checkout@v4
- name: Prepare version
shell: powershell
id: setup
run: |
$os="windows"
$xfg_version="${{ github.sha }}".SubString(0,7)
$release_name="xfg-cli-$os-dev-$xfg_version"
echo "release_name=${release_name}" >> $env:GITHUB_OUTPUT
- name: Install msbuild
uses: microsoft/[email protected]
- name: Download and Install Boost 1.83
run: |
$Url = "https://sourceforge.net/projects/boost/files/boost-binaries/1.83.0/boost_1_83_0-msvc-14.3-64.exe"
$OutputPath = "C:\\Users\\runneradmin\\AppData\\Local\\Temp\\boost-installer.exe"
curl -L $Url -o $OutputPath
Start-Process -Wait -FilePath $OutputPath "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=C:\\thirdparties\\boost-1.83.0"
- name: Build
shell: powershell
id: build
run: |
$build_folder = "build"
$sha = "${{ github.sha }}"
$xfg_ver = $sha.SubString(0,7)
$release_name = "fuego-cli-win64-v$xfg_ver"
mkdir "$build_folder"
cd "$build_folder"
cmake -G "Visual Studio 17 2022" -A x64 -DBOOST_ROOT="$env:BOOST_ROOT" -DBOOST_INCLUDE_DIRS="$env:BOOST_ROOT/include" ..
msbuild fuegoX.sln /p:Configuration=Release /m
cd src\Release
Compress-Archive -Path *.exe -DestinationPath "$release_name.zip"
$sha256 = (Get-FileHash "$release_name.zip").Hash
$asset_path = "./$build_folder/src/Release/$release_name.zip"
mkdir "$release_name"
cp *.exe "$release_name/"
echo "sha256=${sha256}" >> $env:GITHUB_OUTPUT
echo "release_name=${release_name}.zip" >> $env:GITHUB_OUTPUT
echo "asset_path=${asset_path}" >> $env:GITHUB_OUTPUT
echo "xfg_version=${xfg_ver}" >> $env:GITHUB_OUTPUT
echo "artifact_path=$build_folder/src/Release/$release_name" >> $env:GITHUB_OUTPUT
- name: Upload To GH Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ steps.build.outputs.release_name }}
path: ${{ steps.build.outputs.artifact_path }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-ubuntu22:
name: Ubuntu 22.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Build
id: build
run: |
sudo apt-get update
sudo apt-get install -y libboost-all-dev
build_folder="build/debug"
xfg_ver=${GITHUB_SHA::7}
xfg_ver_folder=$(echo $xfg_ver | sed 's/\.//g')
release_name=fuego-cli-ubuntu-2204-dev"$xfg_ver"
mkdir -p "$build_folder"
cd "$build_folder"
cmake ../.. -DCMAKE_BUILD_TYPE=Debug
make -j4
mkdir -p "$release_name"
exeFiles=()
for f in src/*; do [[ -x $f && -f $f ]] && exeFiles+=( "$f" ); done
strip "${exeFiles[@]}"
cp "${exeFiles[@]}" "$release_name/"
echo "release_name=${release_name}.tar.gz" >> $GITHUB_OUTPUT
echo "artifact_path=$build_folder/$release_name" >> $GITHUB_OUTPUT
- name: Upload To GH Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ steps.build.outputs.release_name }}
path: ${{ steps.build.outputs.artifact_path }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-ubuntu24:
name: Ubuntu 24.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Build
id: build
run: |
sudo apt-get update
sudo apt-get install -y libboost-all-dev
build_folder="build/debug"
xfg_ver=${GITHUB_SHA::7}
xfg_ver_folder=$(echo $xfg_ver | sed 's/\.//g')
release_name=fuego-cli-ubuntu-2404-dev"$xfg_ver"
mkdir -p "$build_folder"
cd "$build_folder"
cmake ../.. -DCMAKE_BUILD_TYPE=Debug
make -j4
mkdir -p "$release_name"
exeFiles=()
for f in src/*; do [[ -x $f && -f $f ]] && exeFiles+=( "$f" ); done
strip "${exeFiles[@]}"
cp "${exeFiles[@]}" "$release_name/"
echo "release_name=${release_name}.tar.gz" >> $GITHUB_OUTPUT
echo "artifact_path=$build_folder/$release_name" >> $GITHUB_OUTPUT
- name: Upload To GH Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ steps.build.outputs.release_name }}
path: ${{ steps.build.outputs.artifact_path }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-macos:
name: macOS
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-13
arch: intel
arch_flag: x86_64
- os: macos-14
arch: apple
arch_flag: arm64
- os: macos-15
arch: apple
arch_flag: arm64
steps:
- uses: actions/checkout@v4
- name: Build
id: build
run: |
build_folder="build/"
xfg_ver=${GITHUB_SHA::7}
release_name=fuego-cli-macos-${{ matrix.arch }}-dev"$xfg_ver"
brew install gcc boost ccache
export CC=clang
export CXX=clang++
export PATH="/usr/local/opt/ccache/libexec:$PATH"
mkdir "$build_folder"
cd "$build_folder"
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch_flag }} \
-DCMAKE_C_FLAGS="-mmacosx-version-min=10.12" \
-DCMAKE_CXX_FLAGS="-mmacosx-version-min=10.12 -Wno-unknown-warning-option"
make -j2
mkdir "$release_name"
exeFiles=()
for f in src/*; do [[ -x $f && -f $f ]] && strip "$f" && exeFiles+=( "$f" ); done
strip "${exeFiles[@]}"
cp "${exeFiles[@]}" "$release_name/"
zip -r "$release_name".zip "$release_name"
sha256=$(shasum -a 256 "$release_name".zip | awk '{print toupper($1)}')
artifact_path="$build_folder/$release_name"
asset_path="./$build_folder$release_name.zip"
echo "sha256=${sha256}" >> $GITHUB_OUTPUT
echo "release_name=${release_name}.zip" >> $GITHUB_OUTPUT
echo "asset_path=${asset_path}" >> $GITHUB_OUTPUT
echo "xfg_version=${xfg_ver}" >> $GITHUB_OUTPUT
echo "artifact_path=${artifact_path}" >> $GITHUB_OUTPUT
- name: Upload To GH Artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ steps.build.outputs.release_name }}-${{ matrix.os }}-${{ matrix.arch }}-${{ github.run_attempt }}-${{ github.job }}
path: ${{ steps.build.outputs.artifact_path }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}