feather/.github/workflows/build.yml

101 lines
No EOL
3.9 KiB
YAML

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 -b apple_pt https://github.com/tobtoht/polyseed.git && cd polyseed && git reset --hard f8eea85b94a9f33f1aeaaabd67fc30be0c2b1c8f && 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