name: build on: [push, pull_request] jobs: docker-linux-static: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 with: submodules: recursive - uses: satackey/action-docker-layer-caching@v0.0.11 if: "!startsWith(github.ref, 'refs/tags/v')" continue-on-error: true with: key: docker-linux-static-{hash} restore-keys: | docker-linux-static- - name: prepare build environment run: docker build -t feather:linux -f Dockerfile.linux --build-arg THREADS=3 . - name: build run: docker run --rm -v /home/runner/work/feather/feather:/feather -w /feather feather:linux sh -c 'WITH_SCANNER=Off make release-static -j3' - name: sha256sum run: shasum -a256 /home/runner/work/feather/feather/build/release/bin/feather - uses: actions/upload-artifact@v2 with: name: ${{ github.job }} path: | /home/runner/work/feather/feather/build/release/bin/feather docker-linux-appimage: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 with: submodules: recursive - uses: satackey/action-docker-layer-caching@v0.0.11 if: "!startsWith(github.ref, 'refs/tags/v')" continue-on-error: true with: key: docker-linux-static-{hash} restore-keys: | docker-linux-static- - name: prepare build environment run: docker build -t feather:linux -f Dockerfile.linux --build-arg THREADS=3 . - name: build run: docker run --rm -v $PWD:/feather -w /feather feather:linux sh -c 'make release-static -j3' - name: build AppImage run: docker run --rm -v $PWD:/feather -w /feather/build feather:linux ../contrib/build-appimage.sh - name: sha256sum run: shasum -a256 /home/runner/work/feather/feather/build/feather.AppImage - uses: actions/upload-artifact@v2 with: name: ${{ github.job }} path: | /home/runner/work/feather/feather/build/feather.AppImage docker-windows-static: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v1 with: submodules: recursive - uses: satackey/action-docker-layer-caching@v0.0.11 if: "!startsWith(github.ref, 'refs/tags/v')" continue-on-error: true with: key: docker-linux-static-{hash} restore-keys: | docker-linux-static- - name: prepare build environment run: docker build -f Dockerfile.windows --tag feather:win --build-arg THREADS=3 . - name: build run: docker run --rm -v $PWD:/feather -w /feather feather:win sh -c 'make release-static-windows root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j3' - name: sha256sum run: shasum -a256 /home/runner/work/feather/feather/build/x86_64-w64-mingw32/release/bin/feather.exe - uses: actions/upload-artifact@v2 with: name: ${{ github.job }} path: | /home/runner/work/feather/feather/build/x86_64-w64-mingw32/release/bin/feather.exe macos: runs-on: macOS-latest steps: - uses: actions/checkout@v1 with: submodules: recursive - name: install dependencies run: HOMEBREW_NO_AUTO_UPDATE=1 brew install qt@5 libsodium libzip qrencode unbound cmake boost hidapi openssl expat libunwind-headers protobuf pkgconfig zbar - name: install polyseed run: git clone https://github.com/tevador/polyseed.git && cd polyseed && git reset --hard e38516561c647522e2e2608f13eabdeab61d9a5d && cmake . && make && make install - name: build run: CMAKE_PREFIX_PATH=/usr/local/opt/qt@5/ make mac-release -j3 - name: create .tar run: tar -cf feather.tar feather.app working-directory: build/bin - uses: actions/upload-artifact@v2 with: name: ${{ github.job }} path: build/bin/feather.tar macos-qt6: runs-on: macOS-latest steps: - uses: actions/checkout@v1 with: submodules: recursive - name: install dependencies run: HOMEBREW_NO_AUTO_UPDATE=1 brew install qt libsodium libzip qrencode unbound cmake boost hidapi openssl expat libunwind-headers protobuf pkgconfig zbar - name: install polyseed run: git clone https://github.com/tevador/polyseed.git && cd polyseed && git reset --hard e38516561c647522e2e2608f13eabdeab61d9a5d && cmake . && make && make install - name: build run: make mac-release -j3 - name: create .tar run: tar -cf feather.tar feather.app working-directory: build/bin - uses: actions/upload-artifact@v2 with: name: ${{ github.job }} path: build/bin/feather.tar