Update build-all-and-release.yml #97
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: '[Full Build - Linux (Ubuntu 20,22,24), Windows32, Windows64, MacOS]' | |
on: | |
push: | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+' | |
release: | |
types: [published] | |
jobs: | |
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: | | |
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: Auto generate | |
run: ./autogen.sh | |
- name: configure | |
run: ./configure --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 | |
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 --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 | |
- 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 --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 | |
- 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 --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 | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: verge-ubuntu20 | |
path: | | |
./src/verged | |
./src/verge-cli | |
./src/verge-tx | |
./src/qt/verge-qt | |
windows32: | |
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 | |
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: | |
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 --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-windows64 | |
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 | |
SendReleases: | |
runs-on: ubuntu-latest | |
needs: [macos13, ubuntu20, ubuntu22, ubuntu24, windows32, windows64] | |
steps: | |
- name: Generate Changelog | |
run: echo "# Changelog" > ${{ github.workspace }}-CHANGELOG.txt | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-windows32 | |
path: verge-windows32 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-windows64 | |
path: verge-windows64 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-macos13 | |
path: verge-macos13 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-ubuntu20 | |
path: verge-ubuntu20 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-ubuntu22 | |
path: verge-ubuntu22 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: verge-ubuntu24 | |
path: verge-ubuntu24 | |
- name: Create zips | |
run: | | |
zip -r verge-windows32.zip verge-windows32/ | |
zip -r verge-windows64.zip verge-windows64/ | |
zip -r verge-macos13.zip verge-macos13/ | |
zip -r verge-ubuntu20.zip verge-ubuntu20/ | |
zip -r verge-ubuntu22.zip verge-ubuntu22/ | |
zip -r verge-ubuntu24.zip verge-ubuntu24/ | |
- name: List downloaded artifacts | |
run: ls -lR | |
- name: sha256 | |
run: | | |
find . -type f -name "*.zip" | xargs sha256sum -b > SHA256SUMS.txt | |
cat SHA256SUMS.txt | |
- name: push zips to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: v7.7.0 | |
files: | | |
verge-windows32.zip | |
verge-windows64.zip | |
verge-macos13.zip | |
verge-ubuntu20.zip | |
verge-ubuntu22.zip | |
verge-ubuntu24.zip | |
SHA256SUMS.txt | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |