Skip to content

Commit

Permalink
Update Github Actions
Browse files Browse the repository at this point in the history
* Add debug and release builds for Ubuntu 24.04 LTS
* Remove builds for Fedora 37 and Fedora 38 because they are EOL
* Add debug and release builds for Fedora 40
* Update MacOS builds for MacOS 13 and MacOS 14. Note that Github's
  MacOS 14 runners are arm64, not x86_64.
* Github's MacOS runners already have pkg-config and gettext and it is
  no longer necessary to specify their installation
* Update MacOS builds to test shared library builds
* Add builds for Microsoft Universal C Runtime (UCRT) using MSYS2's
  UCRT64 build environment that is based on GCC, not CLANG
  • Loading branch information
leonlynch committed Jun 8, 2024
1 parent d4247ca commit 1d2b40c
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 17 deletions.
8 changes: 3 additions & 5 deletions .github/workflows/fedora-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ jobs:
fail-fast: false
matrix:
include:
- { name: "Fedora 37", fedora_version: 37, deps: "none", build_emv_tool: NO }
- { name: "Fedora 37", fedora_version: 37, deps: "pcsclite", build_emv_tool: YES }
- { name: "Fedora 38", fedora_version: 38, deps: "pcsclite", build_emv_tool: YES }
- { name: "Fedora 39", fedora_version: 39, deps: "none", build_emv_tool: NO }
- { name: "Fedora 39", fedora_version: 39, deps: "pcsclite", build_emv_tool: YES }
- { name: "Fedora 40", fedora_version: 40, deps: "pcsclite", build_emv_tool: YES }

name: ${{ matrix.name }} build (static/debug/${{ matrix.deps }})
runs-on: ubuntu-latest
Expand Down Expand Up @@ -59,9 +58,8 @@ jobs:
fail-fast: false
matrix:
include:
- { name: "Fedora 37", fedora_version: 37 }
- { name: "Fedora 38", fedora_version: 38 }
- { name: "Fedora 39", fedora_version: 39 }
- { name: "Fedora 40", fedora_version: 40 }

name: ${{ matrix.name }} release
runs-on: ubuntu-latest
Expand Down
14 changes: 6 additions & 8 deletions .github/workflows/macos-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,20 @@ jobs:
fail-fast: false
matrix:
include:
- { name: "MacOS 12", os: macos-12, osx_arch: "x86_64", build_type: "Debug", deps: "none", fetch_deps: YES, build_emv_tool: NO }
- { name: "MacOS 12", os: macos-12, osx_arch: "x86_64", build_type: "Release", deps: "pcsclite", fetch_deps: NO, build_emv_tool: YES }
- { name: "MacOS 13", os: macos-13, osx_arch: "x86_64", build_type: "Release", deps: "none", fetch_deps: NO, build_emv_tool: NO }
- { name: "MacOS 13", os: macos-13, osx_arch: "x86_64", build_type: "Debug", deps: "pcsclite", fetch_deps: YES, build_emv_tool: YES }
- { name: "MacOS 13", os: macos-13, osx_arch: "x86_64", build_type: "Debug", lib_type: "static", shared_libs: "NO", deps: "none", fetch_deps: YES, build_emv_tool: NO }
- { name: "MacOS 13", os: macos-13, osx_arch: "x86_64", build_type: "Release", lib_type: "shared", shared_libs: "YES", deps: "pcsclite", fetch_deps: NO, build_emv_tool: YES }
- { name: "MacOS 14", os: macos-14, osx_arch: "arm64", build_type: "Release", lib_type: "static", shared_libs: "NO", deps: "none", fetch_deps: NO, build_emv_tool: NO }
- { name: "MacOS 14", os: macos-14, osx_arch: "arm64", build_type: "Debug", lib_type: "shared", shared_libs: "YES", deps: "pcsclite", fetch_deps: YES, build_emv_tool: YES }

name: ${{ matrix.name }} (${{ matrix.osx_arch }}) build (static/${{ matrix.build_type }}/${{ matrix.deps }})
name: ${{ matrix.name }} (${{ matrix.osx_arch }}) build (${{ matrix.lib_type}}/${{ matrix.build_type }}/${{ matrix.deps }})
runs-on: ${{ matrix.os }}

steps:
- name: Install dependencies
run: |
brew install pkg-config
brew install boost
brew install iso-codes
brew install json-c
brew install gettext
- name: Install argp-standalone using brew
if: ${{ matrix.fetch_deps == 'NO' }}
Expand All @@ -48,7 +46,7 @@ jobs:
submodules: recursive

- name: Configure CMake
run: cmake -B build -DCMAKE_OSX_ARCHITECTURES="${{ matrix.osx_arch }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" -DFETCH_ARGP=${{ matrix.fetch_deps }} -DBUILD_EMV_TOOL=${{ matrix.build_emv_tool }}
run: cmake -B build -DCMAKE_OSX_ARCHITECTURES="${{ matrix.osx_arch }}" -DCMAKE_BUILD_TYPE="${{ matrix.build_type }}" -DBUILD_SHARED_LIBS=${{ matrix.shared_libs }} -DFETCH_ARGP=${{ matrix.fetch_deps }} -DBUILD_EMV_TOOL=${{ matrix.build_emv_tool }}

- name: Build
run: cmake --build build
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/ubuntu-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
- { name: "Ubuntu 20.04", os: ubuntu-20.04, deps: "iconv", iso8859: "iconv", build_emv_tool: NO }
- { name: "Ubuntu 20.04", os: ubuntu-20.04, deps: "boost/pcsclite", iso8859: "boost", build_emv_tool: YES }
- { name: "Ubuntu 22.04", os: ubuntu-22.04, deps: "iconv/pcsclite", iso8859: "iconv", build_emv_tool: YES }
- { name: "Ubuntu 24.04", os: ubuntu-24.04, deps: "iconv/pcsclite", iso8859: "iconv", build_emv_tool: YES }

name: ${{ matrix.name }} build (static/debug/${{ matrix.deps }})
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -55,6 +56,7 @@ jobs:
include:
- { name: "Ubuntu 20.04", os: ubuntu-20.04, ubuntu_release_name: "focal" }
- { name: "Ubuntu 22.04", os: ubuntu-22.04, ubuntu_release_name: "jammy" }
- { name: "Ubuntu 24.04", os: ubuntu-24.04, ubuntu_release_name: "noble" }

name: ${{ matrix.name }} build (release)
runs-on: ${{ matrix.os }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/windows-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ jobs:
- { sys: mingw64, env: x86_64, build_type: "Release", lib_type: "static", shared_libs: "NO", build_emv_tool: NO }
- { sys: mingw64, env: x86_64, build_type: "Debug", lib_type: "dll", shared_libs: "YES", build_emv_tool: YES }
- { sys: mingw64, env: x86_64, build_type: "Release", lib_type: "static", shared_libs: "NO", build_emv_tool: YES }
- { sys: ucrt64, env: ucrt-x86_64, build_type: "Debug", lib_type: "static", shared_libs: "NO", build_emv_tool: YES }
- { sys: ucrt64, env: ucrt-x86_64, build_type: "Release", lib_type: "dll", shared_libs: "YES", build_emv_tool: YES }
- { sys: clang64, env: clang-x86_64, build_type: "Debug", lib_type: "static", shared_libs: "NO", build_emv_tool: YES }
- { sys: clang64, env: clang-x86_64, build_type: "Release", lib_type: "dll", shared_libs: "YES", build_emv_tool: YES }

Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ licensing options.
Installation
------------

* For Ubuntu 20.04 LTS (Focal) or Ubuntu 22.04 LTS (Jammy), install the
appropriate [release package](https://github.com/openemv/emv-utils/releases)
* For Fedora 36 or Fedora 37, install the appropriate
* For Ubuntu 20.04 LTS (Focal), 22.04 LTS (Jammy), or 24.04 LTS (Noble) install
the appropriate
[release package](https://github.com/openemv/emv-utils/releases)
* For Gentoo, use the
* For Fedora 39 or Fedora 40, install the appropriate Fedora
[release package](https://github.com/openemv/emv-utils/releases)
* For Gentoo, use the
[OpenEMV overlay](https://github.com/openemv/openemv-overlay), set the
keywords and useflags as needed, and install using
`emerge --verbose --ask emv-utils`
Expand Down

0 comments on commit 1d2b40c

Please sign in to comment.