Fixed printf warnings on some platforms #27
This file contains hidden or 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: Ubuntu CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: "${{ matrix.config.name }} | ${{ matrix.config.build_type }}" | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Ubuntu Latest x86_64", | |
os: ubuntu-latest, | |
generator: "Ninja", | |
build_type: "Release", | |
upload_directory: "www/ubuntu-24-04/", | |
deps_cmdline: "sudo apt-get update --fix-missing -qq && | |
sudo apt-get install -y libsdl2-dev ninja-build cmake libvlc-dev libvlccore-dev | |
" | |
} | |
steps: | |
- name: Check for the upload support | |
id: upload-check | |
shell: bash | |
run: | | |
if [[ "${{ secrets.builds_login }}" != '' && \ | |
"${{ secrets.builds_password }}" != '' && \ | |
"${{ secrets.builds_host }}" != '' ]]; then | |
echo "available=true" >> $GITHUB_OUTPUT; | |
else | |
echo "available=false" >> $GITHUB_OUTPUT; | |
fi | |
- name: Install Dependencies | |
shell: bash | |
run: | | |
if [[ ! -z "${{ matrix.config.deps_cmdline }}" ]]; then | |
eval ${{ matrix.config.deps_cmdline }} | |
fi | |
cmake --version | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 3 | |
submodules: recursive | |
- uses: Wohlstand/[email protected] | |
- name: Check if a pull request | |
id: event-check | |
shell: bash | |
run: | | |
if [[ "${BRANCH_NAME}" == *"merge"* ]]; then | |
echo "--- This build is a pull-request ---" | |
echo "is_pull_request=true" >> $GITHUB_OUTPUT; | |
else | |
echo "--- This build is a normal branch build ---" | |
echo "is_pull_request=false" >> $GITHUB_OUTPUT; | |
fi | |
- name: Configure | |
shell: bash | |
run: | | |
if [[ ! -z "${{ matrix.config.extra_path }}" ]]; then | |
export PATH=${{ matrix.config.extra_path }}:${PATH} | |
echo "PATH environment: ${PATH}" | |
fi | |
echo "=====================================" | |
gcc --version | |
echo "=====================================" | |
git --version | |
echo "=====================================" | |
cmake --version | |
echo "=====================================" | |
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DCMAKE_INSTALL_PREFIX="`pwd`/libOPNMIDI" ${{ matrix.config.extra_options }} -DWITH_MIDIPLAY=ON -DWITH_VLC_PLUGIN=ON -DVLC_PLUGIN_NOINSTALL=ON -DlibOPNMIDI_SHARED=ON -DlibOPNMIDI_STATIC=ON -DWITH_EXTRA_BANKS=ON -DWITH_UNIT_TESTS=ON . | |
- name: Build | |
shell: bash | |
run: | | |
if [[ ! -z "${{ matrix.config.extra_path }}" ]]; then | |
export PATH=${{ matrix.config.extra_path }}:${PATH} | |
export QT_DIR="${{ matrix.config.qt_dir }}" | |
export QtDir="${{ matrix.config.qt_dir }}" | |
fi | |
export MAKEFLAGS=--keep-going | |
cmake --build build --target all --config ${{ matrix.config.build_type }} --parallel 3 | |
- name: Install | |
shell: bash | |
run: | | |
if [[ ! -z "${{ matrix.config.extra_path }}" ]]; then | |
export PATH=${{ matrix.config.extra_path }}:${PATH} | |
export QT_DIR="${{ matrix.config.qt_dir }}" | |
export QtDir="${{ matrix.config.qt_dir }}" | |
fi | |
export MAKEFLAGS=--keep-going | |
cmake --build build --target install --config ${{ matrix.config.build_type }} | |
# - name: Deploy | |
# shell: bash | |
# run: | | |
# if [[ ! -z "${{ matrix.config.extra_path }}" ]]; then | |
# export PATH=${{ matrix.config.extra_path }}:${PATH} | |
# export QT_DIR="${{ matrix.config.qt_dir }}" | |
# export QtDir="${{ matrix.config.qt_dir }}" | |
# fi | |
# export MAKEFLAGS=--keep-going | |
# cmake --build build --target windeploy --config ${{ matrix.config.build_type }} | |
# cmake --build build --target enable_portable | |
# cmake --build build --target put_online_help | |
# cmake --build build --target create_zip | |
# cmake --build build --target create_zip_tools | |
# cmake --build build --target create_zip_install | |
# mkdir _packed | |
# mv bin-cmake-release/_packed/*.zip _packed | |
# - name: Deploy to builds.wohlsoft.ru | |
# if: success() && github.event_name != 'pull_request' && steps.event-check.outputs.is_pull_request == 'false' && steps.upload-check.outputs.available == 'true' | |
# shell: bash | |
# run: | | |
# if [[ ! -z "${{ matrix.config.extra_path }}" ]]; then | |
# export PATH=${{ matrix.config.extra_path }}:${PATH} | |
# fi | |
# UPLOAD_LIST="set ssl:verify-certificate no;" | |
# for q in ./_packed/*.zip; do | |
# UPLOAD_LIST="${UPLOAD_LIST} put -O ${{ matrix.config.upload_directory }} $q;" | |
# done | |
# lftp -e "${UPLOAD_LIST} exit" -u ${{ secrets.builds_login }},${{ secrets.builds_password }} ${{ secrets.builds_host }} | |
- name: List Build Directory | |
if: always() | |
shell: bash | |
run: | | |
git status | |
ls -lR build |