Skip to content

Update build-all-and-release.yml #349

Update build-all-and-release.yml

Update build-all-and-release.yml #349

Workflow file for this run

on:
push
jobs:
macos12:
runs-on: macos-12
steps:
- uses: actions/checkout@v4
- name: git config credential.helper
run: git config credential.helper
- name: which clang/xcode
run: clang --version
- name: Brew install base dependencies
run: brew install --quiet automake berkeley-db@4 [email protected] miniupnpc qt@5 gperf qrencode librsvg && curl -L https://raw.githubusercontent.com/vergecurrency/protobuf261/master/protobuf261.rb > protobuf261.rb && brew install protobuf261.rb
- name: Brew link dependencies
run: brew link --overwrite [email protected] && brew link [email protected] qt@5 berkeley-db@4
- name: Auto generate
run: ./autogen.sh
- name: configure
run: ./configure --enable-scrypt-sse2 --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --with-gui --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j4
- name: make .dmg
run: make deploy
- uses: actions/upload-artifact@v4
with:
name: verge-macos12
path: |
*.dmg
macos13:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- name: git config credential.helper
run: git config credential.helper
- name: Brew install base dependencies
run: |
# A workaround for "The `brew link` step did not complete successfully" error.
brew install --quiet python@3 || brew link --overwrite python@3
brew install --quiet automake berkeley-db@4 [email protected] miniupnpc qt@5 gperf qrencode librsvg && curl -L https://raw.githubusercontent.com/vergecurrency/protobuf261/master/protobuf261.rb > protobuf261.rb && brew install protobuf261.rb
- name: Brew link dependencies
run: brew link [email protected] qt@5 berkeley-db@4
- name: which clang/xcode
run: clang --version
- name: Auto generate
run: ./autogen.sh
- name: configure
run: ./configure --enable-scrypt-sse2 --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --with-gui --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j4
- name: make .dmg
run: make deploy
- uses: actions/upload-artifact@v4
with:
name: verge-macos13
path: |
*.dmg
macos14:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: git config credential.helper
run: git config credential.helper
- name: get previous xcode and switch to it
run: ls -la /Applications/Xcode* && sudo xcode-select -switch /Applications/Xcode_15.2.app
- name: Brew install base dependencies
run: |
# A workaround for "The `brew link` step did not complete successfully" error.
brew install --quiet python@3 || brew link --overwrite python@3
brew install --quiet automake autoconf berkeley-db@4 [email protected] pkg-config miniupnpc zeromq libtool qt@5 gperf qrencode librsvg && curl -L https://raw.githubusercontent.com/vergecurrency/protobuf261/master/protobuf261.rb > protobuf261.rb && brew install protobuf261.rb
- name: Brew link dependencies
run: brew link [email protected] qt@5 berkeley-db@4
- name: which clang/xcode
run: clang --version
- name: export boost flags and run Auto generate
run: ./autogen.sh
- name: configure
run: export LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib" && export CPPFLAGS="-I/opt/homebrew/opt/[email protected]/include" && ./configure --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --with-gui --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib --with-openssl-dir=/opt/homebrew/Cellar/openssl@3/3.3.1 --with-libevent-dir=/opt/homebrew/Cellar/libevent/2.1.12_1 --with-boost=/opt/homebrew/Cellar/[email protected]/1.76.0_5
- name: make
run: make -j4
- name: make .dmg
run: make deploy
- uses: actions/upload-artifact@v4
with:
name: verge-macos14
path: |
*.dmg
ubuntu24:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential xutils-dev libtool gperf autotools-dev automake pkg-config bsdmainutils libattr1-dev make automake bison byacc cmake curl g++-multilib binutils-gold bison byacc python3
- name: Build depends
run: cd depends/ && make -j4 HOST=x86_64-linux-gnu
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/x86_64-linux-gnu/share/config.site ./configure --enable-scrypt-sse2 --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --prefix=`pwd`/depends/x86_64-linux-gnu --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j4
- name: strip
run: cd ./src && strip verged verge-cli verge-tx && cd ./qt && strip verge-qt
- uses: actions/upload-artifact@v4
with:
name: verge-ubuntu24
path: |
./src/verged
./src/verge-cli
./src/verge-tx
./src/qt/verge-qt
ubuntu22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential xutils-dev libtool gperf autotools-dev automake pkg-config bsdmainutils libattr1-dev make automake bison byacc cmake curl g++-multilib binutils-gold bison byacc python3
- name: Build depends
run: cd depends/ && make -j4 HOST=x86_64-linux-gnu
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/x86_64-linux-gnu/share/config.site ./configure --enable-scrypt-sse2 --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --prefix=`pwd`/depends/x86_64-linux-gnu --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j4
- name: strip
run: cd ./src && strip verged verge-cli verge-tx && cd ./qt && strip verge-qt
- uses: actions/upload-artifact@v4
with:
name: verge-ubuntu22
path: |
./src/verged
./src/verge-cli
./src/verge-tx
./src/qt/verge-qt
ubuntu20:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential xutils-dev libtool gperf autotools-dev automake pkg-config bsdmainutils libattr1-dev make automake bison byacc cmake curl g++-multilib binutils-gold bison byacc python3
- name: Build depends
run: cd depends/ && make -j4 HOST=x86_64-linux-gnu
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/x86_64-linux-gnu/share/config.site ./configure --enable-scrypt-sse2 --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --prefix=`pwd`/depends/x86_64-linux-gnu --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j4
- name: strip
run: cd ./src && strip verged verge-cli verge-tx && cd ./qt && strip verge-qt
- uses: actions/upload-artifact@v4
with:
name: verge-ubuntu20
path: |
./src/verged
./src/verge-cli
./src/verge-tx
./src/qt/verge-qt
windows32-ubuntu20:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential libtool gperf autotools-dev automake pkg-config bsdmainutils curl git bison byacc python3 nsis
- name: Force Posix
run: sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev && sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
- name: Build depends for MingW32 Cross Compile
run: PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') && cd depends/ && make HOST=i686-w64-mingw32 -j2
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/i686-w64-mingw32/share/config.site ./configure --disable-bench --disable-tests --disable-dependency-tracking --disable-werror --prefix=`pwd`/depends/i686-w64-mingw32 --bindir=`pwd`/release/bin --libdir=`pwd`/release/lib
- name: make
run: make -j2
- name: strip
run: cd ./src && strip verged.exe verge-cli.exe verge-tx.exe && cd ./qt && strip verge-qt.exe
- uses: actions/upload-artifact@v4
with:
name: verge-windows32-ubuntu20
path: |
/home/runner/work/verge/verge/src/verged.exe
/home/runner/work/verge/verge/src/verge-cli.exe
/home/runner/work/verge/verge/src/verge-tx.exe
/home/runner/work/verge/verge/src/qt/verge-qt.exe
windows32-ubuntu22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential libtool gperf autotools-dev automake pkg-config bsdmainutils curl git bison byacc python3 nsis
- name: Force Posix
run: sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev && sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
- name: Build depends for MingW32 Cross Compile
run: PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') && cd depends/ && make HOST=i686-w64-mingw32 -j2
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/i686-w64-mingw32/share/config.site ./configure --prefix=/ --disable-bench --disable-tests
- name: make
run: make -j2
- name: strip
run: cd ./src && strip verged.exe verge-cli.exe verge-tx.exe && cd ./qt && strip verge-qt.exe
- uses: actions/upload-artifact@v4
with:
name: verge-windows32-ubuntu22
path: |
/home/runner/work/verge/verge/src/verged.exe
/home/runner/work/verge/verge/src/verge-cli.exe
/home/runner/work/verge/verge/src/verge-tx.exe
/home/runner/work/verge/verge/src/qt/verge-qt.exe
windows64-ubuntu22:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential libtool gperf autotools-dev automake pkg-config bsdmainutils curl git bison byacc python3 nsis
- name: Force Posix
run: sudo apt install g++-mingw-w64-x86-64 && sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- name: Build depends for MingW32 Cross Compile
run: PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') && cd depends/ && make HOST=x86_64-w64-mingw32 -j2
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --enable-scrypt-sse2 --prefix=/ --disable-bench --disable-tests
- name: make
run: make -j2
- name: strip
run: cd ./src && strip verged.exe verge-cli.exe verge-tx.exe && cd ./qt && strip verge-qt.exe
- uses: actions/upload-artifact@v4
with:
name: verge-windows64bit-ubuntu22
path: |
/home/runner/work/verge/verge/src/verged.exe
/home/runner/work/verge/verge/src/verge-cli.exe
/home/runner/work/verge/verge/src/verge-tx.exe
/home/runner/work/verge/verge/src/qt/verge-qt.exe
windows64-ubuntu20:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Update apt repos
run: sudo apt-get update
- name: Install base dependencies
run: sudo apt-get install build-essential libtool gperf autotools-dev automake pkg-config bsdmainutils curl git bison byacc python3 nsis
- name: Force Posix
run: sudo apt install g++-mingw-w64-x86-64 && sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- name: Build depends for MingW32 Cross Compile
run: PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g') && cd depends/ && make HOST=x86_64-w64-mingw32 -j2
- name: Auto generate
run: ./autogen.sh
- name: configure
run: CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --enable-scrypt-sse2 --prefix=/ --disable-bench --disable-tests
- name: make
run: make -j2
- name: strip
run: cd ./src && strip verged.exe verge-cli.exe verge-tx.exe && cd ./qt && strip verge-qt.exe
- uses: actions/upload-artifact@v4
with:
name: verge-windows64bit-ubuntu20
path: |
/home/runner/work/verge/verge/src/verged.exe
/home/runner/work/verge/verge/src/verge-cli.exe
/home/runner/work/verge/verge/src/verge-tx.exe
/home/runner/work/verge/verge/src/qt/verge-qt.exe