Update build-all-and-release.yml #39
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, Windows, MacOS]' | |
on: [push] | |
jobs: | |
macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: git config credential.helper | |
run: git config credential.helper | |
- name: Brew install base dependencies | |
run: brew install automake berkeley-db4 libtool boost@1.76 miniupnpc qt@5 openssl pkg-config python libevent qrencode librsvg && curl -L https://raw.githubusercontent.com/udalov/protobuf261/master/protobuf261.rb > protobuf261.rb && brew install protobuf261.rb | |
- name: Brew link dependencies | |
run: brew link boost@1.76 qt@5 berkeley-db4 | |
- 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 check | |
run: make check -j4 | |
- name: make .dmg | |
run: make deploy | |
- name: zip .dmg | |
run: zip verge-macos.zip /Users/runner/work/verge/verge/verge-qt.dmg | |
- name: get SHA | |
run: echo ${{ github.sha }} > Release.txt | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: verge-macos.zip | |
path: | | |
*.txt | |
*.zip | |
linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Update apt repos | |
run: sudo apt-get update | |
- name: Install base dependencies | |
run: sudo apt-get install build-essential libtool 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: ./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 | |
- name: make check | |
run: make check -j4 | |
- name: zip binaries | |
run: zip verge-linux.zip ./src/verged ./src/verge-cli ./src/verge-tx ./src/qt/verge-qt | |
- name: get SHA | |
run: echo ${{ github.sha }} > Release.txt | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: verge-linux.zip | |
path: | | |
*.txt | |
*.zip | |
windows: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Update apt repos | |
run: sudo apt-get update | |
- name: Install base dependencies | |
run: sudo apt-get install build-essential libtool 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: zip up GUI Wallet and CLI utils | |
run: zip verge-windows.zip /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 | |
- name: get SHA | |
run: echo ${{ github.sha }} > Release.txt | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: verge-windows.zip | |
path: | | |
*.txt | |
*.zip | |
SendReleases: | |
runs-on: ubuntu-latest | |
needs: [macos, linux, windows] | |
steps: | |
- name: Generate Changelog | |
run: echo "# Changelog" > ${{ github.workspace }}-CHANGELOG.txt | |
- name: create release | |
uses: actions/create-release@v1 | |
id: create_release | |
with: | |
draft: false | |
prerelease: false | |
release_name: v7.3.0 | |
tag_name: v7.3.0 | |
body_path: ${{ github.workspace }}-CHANGELOG.txt | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- uses: actions/download-artifact@v2 | |
with: | |
name: verge-windows.zip | |
path: ./verge-windows.zip | |
- uses: actions/download-artifact@v2 | |
with: | |
name: verge-macos.zip | |
path: ./verge-macos.zip | |
- uses: actions/download-artifact@v2 | |
with: | |
name: verge-linux.zip | |
path: ./verge-linux.zip | |
- name: push zips to release | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: v7.3.0 | |
files: | | |
verge-macos.zip | |
verge-windows.zip | |
verge-linux.zip |