Simplify package listing script and standardize workflows
The commit makes the following changes: - The package listing script now requires the user specify which package manager they're using. This approach resolves the ambiguity if a system has more than one package manager (ie: macports & brew) - Adds packages for Fedora, RedHat/CentOS, Arch, and OpenSuse - Eliminates unecessary code in the package manager script (more can be eliminate at the expense of complexity) - Made a couple minor fixes to the build script - Tried to further "standardize" the workflows as follows: - names are Compiler Version (Environment) - Sorted them alphabetically in their respective YAMLs - Minor spacing adjustment to align values (where it makes sense) - Dropped quotes around some of the string values because I'd rather our YAML be consistent and propper instead of changing our YAML to suite the limitations of an editor (can a different plugin or better parser be used?) - Added macOS workflows for Homebrew and MacPorts, both ready to go and tested, but with the build step just commented out
This commit is contained in:
parent
af6557ae70
commit
85039a6033
9 changed files with 458 additions and 539 deletions
48
.github/workflows/linux.yml
vendored
48
.github/workflows/linux.yml
vendored
|
@ -1,48 +1,48 @@
|
|||
name: "Linux builds"
|
||||
name: Linux builds
|
||||
on: push
|
||||
jobs:
|
||||
|
||||
build_ubuntu_gcc9:
|
||||
name: "GCC 9 (ubuntu-18.04)"
|
||||
build_ubuntu_clang_8:
|
||||
name: Clang 8 (ubuntu-18.04)
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Log environment
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh --compiler-version 9)
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh -p apt --compiler clang --compiler-version 8)
|
||||
- name: Build
|
||||
run: ./scripts/build.sh --compiler-version 9 --lto
|
||||
- name: "Summarize warnings"
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
run: ./scripts/build.sh --compiler clang --compiler-version 8 --lto
|
||||
- name: Summarize warnings"
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
|
||||
build_ubuntu_gcc_defaults:
|
||||
name: "GCC"
|
||||
build_ubuntu_matrix_gcc:
|
||||
name: GCC
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-18.04, ubuntu-16.04]
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Log environment
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh)
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh -p apt)
|
||||
- name: Build
|
||||
run: ./scripts/build.sh
|
||||
- name: "Summarize warnings"
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
- name: Summarize warnings
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
|
||||
build_ubuntu_clang_8:
|
||||
name: "Clang 8 (ubuntu-18.04)"
|
||||
build_ubuntu_gcc9:
|
||||
name: GCC 9 (ubuntu-18.04)
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Log environment
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh --compiler clang --compiler-version 8)
|
||||
run: sudo apt-get update && sudo apt install -y $(./scripts/list-build-dependencies.sh -p apt --compiler-version 9)
|
||||
- name: Build
|
||||
run: ./scripts/build.sh --compiler clang --compiler-version 8 --lto
|
||||
- name: "Summarize warnings"
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
run: ./scripts/build.sh --compiler-version 9 --lto
|
||||
- name: Summarize warnings
|
||||
run: ./scripts/count-warnings.py build.log
|
||||
|
|
61
.github/workflows/macos.yml
vendored
61
.github/workflows/macos.yml
vendored
|
@ -1,16 +1,59 @@
|
|||
name: "macOS builds"
|
||||
name: macOS builds
|
||||
on: push
|
||||
jobs:
|
||||
build_macos_clang:
|
||||
name: "Clang (macOS-10.14)"
|
||||
build_macos_xcode_clang:
|
||||
name: Clang 10 (Xcode)
|
||||
runs-on: macOS-10.14
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Log environment
|
||||
run: ./scripts/log-env.sh
|
||||
- name: Install dependencies
|
||||
run: brew install $(./scripts/list-build-dependencies.sh --compiler clang)
|
||||
run: brew install $(./scripts/list-build-dependencies.sh -p brew --compiler clang)
|
||||
- name: Build
|
||||
run: ./scripts/build.sh --compiler clang --lto
|
||||
- name: "Summarize warnings"
|
||||
run: python3 ./scripts/count-warnings.py build.log
|
||||
run: ./scripts/build.sh --compiler clang --lto
|
||||
- name: Summarize warnings
|
||||
run: python3 ./scripts/count-warnings.py build.log
|
||||
|
||||
|
||||
# build_macos_brew_gcc9:
|
||||
# name: GCC 9 (Homebrew)
|
||||
# runs-on: macOS-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v1
|
||||
# - name: Log environment
|
||||
# run: ./scripts/log-env.sh
|
||||
# - name: Install dependencies
|
||||
# run: brew install $(./scripts/list-build-dependencies.sh -p brew --compiler-version 9)
|
||||
# - name: Build
|
||||
# run: echo ./scripts/build.sh --compiler-version 9 --lto
|
||||
# - name: Summarize warnings
|
||||
# run: echo python3 ./scripts/count-warnings.py build.log
|
||||
|
||||
|
||||
# build_macos_macports_gcc9:
|
||||
# name: GCC 9 (MacPorts)
|
||||
# runs-on: macOS-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v1
|
||||
# - name: Install MacPorts
|
||||
# run: |
|
||||
# # xcode-select --install || true
|
||||
# # sudo xcodebuild -license || true
|
||||
# git clone --quiet --depth=1 https://github.com/macports/macports-base.git
|
||||
# cd macports-base
|
||||
# ./configure
|
||||
# make -j"$(sysctl -n hw.physicalcpu || echo 4)"
|
||||
# sudo make install
|
||||
#
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# PATH="/opt/local/sbin:/opt/local/bin:${PATH}"
|
||||
# sudo port -q selfupdate || true
|
||||
# sudo port -q install $(./scripts/list-build-dependencies.sh -p macports --compiler-version 9)
|
||||
#
|
||||
# - name: Build
|
||||
# run: echo ./scripts/build.sh --compiler-version mp-9 --bin-path /opt/local/bin
|
||||
# - name: Summarize warnings
|
||||
# run: echo python3 ./scripts/count-warnings.py build.log
|
||||
|
||||
|
|
19
.github/workflows/static.yml
vendored
19
.github/workflows/static.yml
vendored
|
@ -3,19 +3,18 @@ name: Static code analysis
|
|||
on: [push]
|
||||
|
||||
jobs:
|
||||
|
||||
build_clang_static_analyser:
|
||||
name: "Clang static analyzer"
|
||||
name: Clang static analyzer
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
run: ./scripts/log-env.sh
|
||||
- run: sudo apt update
|
||||
- name: "Install packages"
|
||||
run: sudo apt-get install libsdl1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev python3-setuptools
|
||||
- name: "Install scan-build (Python version)"
|
||||
run: sudo pip3 install scan-build beautifulsoup4 html5lib
|
||||
- name: Log environment
|
||||
run: ./scripts/log-env.sh
|
||||
- run: sudo apt update
|
||||
- name: Install packages
|
||||
run: sudo apt-get install libsdl1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev python3-setuptools
|
||||
- name: Install scan-build (Python version)
|
||||
run: sudo pip3 install scan-build beautifulsoup4 html5lib
|
||||
- name: Build
|
||||
run: |
|
||||
# build steps
|
||||
|
@ -25,7 +24,7 @@ jobs:
|
|||
./configure
|
||||
intercept-build make -j "$(nproc)"
|
||||
- name: Analyze
|
||||
run: analyze-build -v -o report --html-title="dosbox-staging (${GITHUB_SHA:0:8})"
|
||||
run: analyze-build -v -o report --html-title="dosbox-staging (${GITHUB_SHA:0:8})"
|
||||
- uses: actions/upload-artifact@master
|
||||
with:
|
||||
name: report
|
||||
|
|
190
.github/workflows/windows.yml
vendored
190
.github/workflows/windows.yml
vendored
|
@ -1,23 +1,96 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
name: "Windows builds"
|
||||
name: Windows builds
|
||||
on: push
|
||||
jobs:
|
||||
|
||||
build_msvc_debug:
|
||||
name: "MSVC 14 Debug (win-2019)"
|
||||
build_msys2_clang_32:
|
||||
name: Clang 8 i686 (MSYS2)
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
- name: Log environment
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh -p msys2 --compiler clang --bit-depth 32 | xargs pacman -S --noconfirm"
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --compiler clang --bit-depth 32 --bin-path /mingw32/bin"
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
build_msys2_clang_64:
|
||||
name: Clang 8 x86_64 (MSYS2)
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
- name: Log environment
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh -p msys2 --compiler clang | xargs pacman -S --noconfirm"
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --compiler clang --bin-path /mingw64/bin"
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
build_msys2_gcc_32:
|
||||
name: GCC 9 i686 (MSYS2)
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
- name: Log environment
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh -p msys2 --bit-depth 32 | xargs pacman -S --noconfirm"
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --bit-depth 32 --bin-path /mingw32/bin"
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
|
||||
build_msys2_gcc_64:
|
||||
name: GCC 9 x86_64 (MSYS2)
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
- name: Log environment
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh -p msys2 | xargs pacman -S --noconfirm"
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --bin-path /mingw64/bin"
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
build_msvc_debug:
|
||||
name: MSVC Debug x86 (win-2019)
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Log environment
|
||||
shell: pwsh
|
||||
run: .\scripts\log-env.ps1
|
||||
- name: "Install packages"
|
||||
run: .\scripts\log-env.ps1
|
||||
- name: Install packages
|
||||
shell: pwsh
|
||||
run: |
|
||||
vcpkg install libpng sdl1 sdl1-net
|
||||
vcpkg integrate install
|
||||
- name: "Build"
|
||||
- name: Build
|
||||
shell: pwsh
|
||||
env:
|
||||
PATH: '${env:PATH};C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64'
|
||||
|
@ -26,21 +99,20 @@ jobs:
|
|||
cd visualc_net
|
||||
MSBuild -m dosbox.sln -p:Configuration=Debug
|
||||
|
||||
|
||||
build_msvc_release:
|
||||
name: "MSVC 14 Release (win-2019)"
|
||||
name: MSVC Release x86 (win-2019)
|
||||
runs-on: windows-2019
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: "Log environment"
|
||||
- uses: actions/checkout@v1
|
||||
- name: Log environment
|
||||
shell: pwsh
|
||||
run: .\scripts\log-env.ps1
|
||||
- name: "Install packages"
|
||||
run: .\scripts\log-env.ps1
|
||||
- name: Install packages
|
||||
shell: pwsh
|
||||
run: |
|
||||
vcpkg install libpng sdl1 sdl1-net
|
||||
vcpkg integrate install
|
||||
- name: "Build"
|
||||
- name: Build
|
||||
shell: pwsh
|
||||
env:
|
||||
PATH: '${env:PATH};C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\amd64'
|
||||
|
@ -50,93 +122,3 @@ jobs:
|
|||
MSBuild -m dosbox.sln -p:Configuration=Release
|
||||
|
||||
|
||||
build_msys2_gcc_64:
|
||||
name: MSYS2 GCC-9 x86_64
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
|
||||
- name: "Log environment"
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh | xargs pacman -S --noconfirm"
|
||||
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --bin-path /mingw64/bin"
|
||||
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
|
||||
build_msys2_gcc_32:
|
||||
name: MSYS2 GCC-9 i686
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
|
||||
- name: "Log environment"
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh --bit-depth 32 | xargs pacman -S --noconfirm"
|
||||
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --bit-depth 32 --bin-path /mingw32/bin"
|
||||
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
|
||||
build_msys2_clang_64:
|
||||
name: MSYS2 Clang-8 x86_64
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
|
||||
- name: "Log environment"
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh --compiler clang | xargs pacman -S --noconfirm"
|
||||
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --compiler clang --bin-path /mingw64/bin"
|
||||
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
||||
|
||||
build_msys2_clang_32:
|
||||
name: MSYS2 Clang-8 i686
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
CHERE_INVOKING: yes
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Install msys2 environment
|
||||
run: choco install msys2 --no-progress
|
||||
|
||||
- name: "Log environment"
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/log-env.sh"
|
||||
|
||||
- name: Install dependencies
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/list-build-dependencies.sh --compiler clang --bit-depth 32 | xargs pacman -S --noconfirm"
|
||||
|
||||
- name: Build
|
||||
run: C:\tools\msys64\usr\bin\bash -lc "./scripts/build.sh --compiler clang --bit-depth 32 --bin-path /mingw32/bin"
|
||||
|
||||
- name: Summarize warnings
|
||||
run: .\scripts\count-warnings.py build.log
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue