Skip to content

Webfiles

Webfiles #1338

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches:
- master
pull_request:
branches:
- master
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
formatting-check:
name: check-clang-format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run clang-format style check.
uses: jidicula/clang-format-action@v4.5.0
with:
clang-format-version: '14'
check-path: '.'
build-linux:
needs: formatting-check
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Install dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: qt5-qmake libqt5websockets5-dev g++ make
version: 1.0
# Runs a set of commands using the runners shell
- name: qmake and build
run: |
cd $GITHUB_WORKSPACE
qmake project-akashi.pro
make
mv bin/config_sample bin/config
- name: Run tests
run: |
cd ${{github.workspace}}/bin_tests/
for test in ./unittest_*; do
LD_LIBRARY_PATH=../bin:$LD_LIBRARY_PATH ./$test
done;
- name: Upload binary
uses: actions/upload-artifact@v2
with:
name: akashi-linux
path: bin/
# coverage:
# runs-on: ubuntu-latest
# steps:
# # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
# - uses: actions/checkout@v2
# - name: Install dependencies
# uses: awalsh128/cache-apt-pkgs-action@latest
# with:
# packages: qt5-qmake libqt5websockets5-dev g++ make
# version: 1.0
# # Runs a set of commands using the runners shell
# - name: qmake and build
# run: |
# cd $GITHUB_WORKSPACE
# qmake CONFIG+=coverage project-akashi.pro
# make
# - name: Run tests
# run: |
# cd ${{github.workspace}}/bin_tests/
# for test in ./unittest_*; do
# LD_LIBRARY_PATH=../bin:$LD_LIBRARY_PATH ./$test
# done;
# - name: Copy coverage files
# run: |
# mkdir coverage
# cd ${{github.workspace}}
# gcov *.o
# cp *.gcov ../coverage/
# - name: Codecov
# uses: codecov/codecov-action@v3.1.0
# with:
# files: coverage/*
# - name: Upload coverage files
# uses: actions/upload-artifact@v2
# with:
# name: coverage statistics
# path: coverage/
build-windows:
needs: formatting-check
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: ilammy/msvc-dev-cmd@v1
- name: Cache Qt
id: cache-qt
uses: actions/cache@v1 # not v2!
with:
path: ../Qt
key: ${{ runner.os }}-QtCache
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
cached: ${{ steps.cache-qt.outputs.cache-hit }}
- name: Build
run: |
cd $Env:GITHUB_WORKSPACE
qmake "CONFIG += qtquickcompiler" project-akashi.pro
nmake
windeployqt bin\akashi.exe --release --no-opengl-sw
mv bin\config_sample bin\config
# As QTest seems to be non-functional on Windows runners this is commented out. If a solution is found, please fix and uncomment - 27.06.2022 / Salanto
# - name: Run tests
# run: |
# windeployqt .\unittest_music_manager.exe --no-translations
# $tests = Get-ChildItem -Filter "unittest_*.exe" -Path ".\" | Select -ExpandProperty Name
# foreach ($test in $tests) {Write-Host(& ".\$test")}
# working-directory: ${{ github.workspace }}/bin_tests
- name: Deploy OpenSSL
run: |
curl https://download.firedaemon.com/FireDaemon-OpenSSL/openssl-1.1.1t.zip --output openssl-1.1.1.zip
tar -xf openssl-1.1.1.zip
copy .\openssl-1.1\x64\bin\libcrypto-1_1-x64.dll .\bin\libcrypto-1_1-x64.dll
copy .\openssl-1.1\x64\bin\libssl-1_1-x64.dll .\bin\libssl-1_1-x64.dll
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: akashi-windows
path: bin\