mirror of https://github.com/qTox/qTox.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
309 lines
9.9 KiB
309 lines
9.9 KiB
name: Test |
|
on: [pull_request, push] |
|
jobs: |
|
build-flatpak-docker: |
|
name: Build flatpak docker |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: flatpak |
|
build-ubuntu-lts-docker: |
|
name: Build ubuntu LTS docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: ubuntu_lts |
|
build-debian-docker: |
|
name: Build debian docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: debian |
|
build-debian-old-docker: |
|
name: Build old debian docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: debian_old |
|
build-centos-docker: |
|
name: Build centos docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: centos |
|
build-fedora-docker: |
|
name: Build fedora docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: fedora |
|
build-opensuse-docker: |
|
name: Build opensuse docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: opensuse |
|
build-windows-docker: |
|
name: Build windows docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: windows_builder |
|
build-windows-i686-docker: |
|
name: Build 32 bit windows docker image |
|
runs-on: ubuntu-latest |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/build-docker-image |
|
name: "Build docker image" |
|
with: |
|
docker_image_name: windows_builder.i686 |
|
build-centos: |
|
name: Centos |
|
runs-on: ubuntu-latest |
|
needs: build-centos-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: centos |
|
- name: Run build |
|
run: docker compose run --rm centos ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
build-fedora: |
|
name: Fedora |
|
runs-on: ubuntu-latest |
|
needs: build-fedora-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: fedora |
|
- name: Run build |
|
run: docker compose run --rm fedora ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
build-opensuse: |
|
name: Opensuse |
|
runs-on: ubuntu-latest |
|
needs: build-opensuse-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: opensuse |
|
- name: Run build |
|
run: docker compose run --rm opensuse ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
build-debian: |
|
name: Debian |
|
runs-on: ubuntu-latest |
|
needs: build-debian-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: debian |
|
- name: Run build |
|
run: docker compose run --rm debian ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
build-debian-old: |
|
name: Debian Old |
|
runs-on: ubuntu-latest |
|
needs: build-debian-old-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: debian_old |
|
- name: Run build |
|
run: docker compose run --rm debian_old ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
build-ubuntu: |
|
name: Ubuntu LTS |
|
runs-on: ubuntu-latest |
|
needs: build-ubuntu-lts-docker |
|
strategy: |
|
matrix: |
|
features: [full, minimal] |
|
build_type: [Debug, Release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: ubuntu_lts |
|
- name: Run build |
|
run: docker compose run --rm ubuntu_lts ./.travis/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} |
|
- name: Code coverage |
|
run: | |
|
# https://github.com/actions/runner/issues/491 |
|
if [ "${{ matrix.build_type }}" == "Release" ] && [ "${{ matrix.features }}" == "full" ]; then |
|
docker compose run --rm ubuntu_lts ./.travis/lcov.sh |
|
# Upload report to codecov.io |
|
bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports" |
|
fi |
|
build-appimage: |
|
name: Appimage |
|
runs-on: ubuntu-latest |
|
needs: build-ubuntu-lts-docker |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: ubuntu_lts |
|
- name: Run build |
|
run: docker compose run --rm ubuntu_lts ./appimage/build.sh --src-dir /qtox |
|
- name: Upload appimage |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: qTox-${{ github.sha }}.x86_64.AppImage |
|
path: qTox-*.x86_64.AppImage |
|
build-flatpak: |
|
name: Flatpak |
|
runs-on: ubuntu-latest |
|
needs: build-flatpak-docker |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: flatpak |
|
- name: Run build |
|
run: docker compose run --rm flatpak ./flatpak/build.sh |
|
- name: Upload flatpak |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: qTox-${{ github.sha }}.x86_64.flatpak |
|
path: qtox.flatpak |
|
build-windows: |
|
name: Windows |
|
runs-on: ubuntu-latest |
|
needs: build-windows-docker |
|
strategy: |
|
matrix: |
|
build_type: [debug, release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: windows_builder |
|
- name: Run build |
|
run: docker compose run --rm windows_builder ./windows/cross-compile/build.sh --arch x86_64 --build-type ${{ matrix.build_type }} --src-dir /qtox |
|
- name: Upload installer |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: setup-qtox-x86_64-${{ matrix.build_type }}.exe |
|
path: package-prefix/setup-qtox.exe |
|
- name: Upload zip |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: setup-qtox-x86_64-${{ matrix.build_type }}.zip |
|
path: install-prefix/qtox-x86_64-${{ matrix.build_type }}.zip |
|
build-windows-i686: |
|
name: Windows i686 |
|
runs-on: ubuntu-latest |
|
needs: build-windows-i686-docker |
|
strategy: |
|
matrix: |
|
build_type: [debug, release] |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- uses: ./.github/actions/load-docker-image |
|
name: Load docker image |
|
with: |
|
docker_image_name: windows_builder.i686 |
|
- name: Run build |
|
run: docker compose run --rm windows_builder.i686 ./windows/cross-compile/build.sh --arch i686 --build-type ${{ matrix.build_type }} --src-dir /qtox |
|
- name: Upload installer |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: setup-qtox-i686-${{ matrix.build_type }}.exe |
|
path: package-prefix/setup-qtox.exe |
|
- name: Upload zip |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: setup-qtox-i686-${{ matrix.build_type }}.zip |
|
path: install-prefix/qtox-i686-${{ matrix.build_type }}.zip |
|
build-osx: |
|
name: macOS |
|
runs-on: macos-10.15 |
|
env: |
|
TRAVIS: true |
|
TRAVIS_BUILD_DIR: ${{ github.workspace }} |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- name: homebrew |
|
run: brew upgrade && brew bundle --file ./osx/Brewfile |
|
- name: Run |
|
run: ./.travis/build-osx.sh |
|
- name: Upload dmg |
|
uses: actions/upload-artifact@v2 |
|
with: |
|
name: qTox-${{ github.sha }}.dmg |
|
path: qTox-Mac_Build/qTox.dmg |
|
build-docs: |
|
name: Docs |
|
runs-on: ubuntu-18.04 |
|
env: |
|
DOXYGEN_CONFIG_FILE: doxygen.conf |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- name: Run |
|
run: ./.travis/build-docs.sh |
|
build-gitstats: |
|
name: Gitstats |
|
runs-on: ubuntu-18.04 |
|
env: |
|
GITSTATS_DIR: gitstats |
|
steps: |
|
- uses: actions/checkout@v2 |
|
- name: Install gitstats |
|
run: sudo apt-get install gitstats |
|
- name: Run |
|
run: ./.travis/build-gitstats.sh
|
|
|