From d041c99ec9a4837c01413b0ba8b9ac5d65609318 Mon Sep 17 00:00:00 2001 From: Leon Lynch Date: Fri, 5 Jan 2024 21:37:44 +0100 Subject: [PATCH] Update Github Actions * Let Ubuntu debug builds test alternative ISO 8859 implementations * Remove Fedora 36 builds and add Fedora 39 debug and release builds * Remove MacOS 11 test builds and add MacOS 13 test builds * Update to actions/checkout@v4 and actions/upload-artifact@v4. See https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ --- .github/workflows/fedora-build.yaml | 16 +++++++++------- .github/workflows/macos-build.yaml | 12 ++++++------ .github/workflows/ubuntu-build.yaml | 17 +++++++++-------- .github/workflows/windows-build.yaml | 4 ++-- 4 files changed, 26 insertions(+), 23 deletions(-) diff --git a/.github/workflows/fedora-build.yaml b/.github/workflows/fedora-build.yaml index dc0aca7..a98f5f6 100644 --- a/.github/workflows/fedora-build.yaml +++ b/.github/workflows/fedora-build.yaml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2022 Leon Lynch +# Copyright (c) 2022-2024 Leon Lynch # # This file is licensed under the terms of the LGPL v2.1 license. # See LICENSE file. @@ -15,9 +15,10 @@ jobs: fail-fast: false matrix: include: - - { name: "Fedora 36", fedora_version: 36, deps: "none", build_emv_tool: NO } - - { name: "Fedora 36", fedora_version: 36, deps: "pcsclite", build_emv_tool: YES } + - { 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: "pcsclite", build_emv_tool: YES } name: ${{ matrix.name }} build (static/debug/${{ matrix.deps }}) runs-on: ubuntu-latest @@ -32,7 +33,7 @@ jobs: run: sudo dnf -y install pcsc-lite-devel - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive @@ -58,8 +59,9 @@ jobs: fail-fast: false matrix: include: - - { name: "Fedora 36", fedora_version: 36 } - { name: "Fedora 37", fedora_version: 37 } + - { name: "Fedora 38", fedora_version: 38 } + - { name: "Fedora 39", fedora_version: 39 } name: ${{ matrix.name }} release runs-on: ubuntu-latest @@ -71,7 +73,7 @@ jobs: sudo dnf -y install git gh cmake gcc g++ boost-devel iso-codes-devel json-c-devel pcsc-lite-devel bash-completion doxygen rpm-build - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 submodules: recursive @@ -100,7 +102,7 @@ jobs: run: cmake --build build --target package - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: emv-utils-${{ env.GIT_DESCRIBE }}-fedora${{ matrix.fedora_version }} path: build/emv-utils-*.rpm diff --git a/.github/workflows/macos-build.yaml b/.github/workflows/macos-build.yaml index 70f5c29..3425f45 100644 --- a/.github/workflows/macos-build.yaml +++ b/.github/workflows/macos-build.yaml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2022 Leon Lynch +# Copyright (c) 2022-2024 Leon Lynch # # This file is licensed under the terms of the LGPL v2.1 license. # See LICENSE file. @@ -15,10 +15,10 @@ jobs: fail-fast: false matrix: include: - - { name: "MacOS 11", os: macos-11, osx_arch: "x86_64", build_type: "Debug", deps: "none", fetch_deps: YES, build_emv_tool: NO } - - { name: "MacOS 11", os: macos-11, osx_arch: "x86_64", build_type: "Release", deps: "pcsclite", fetch_deps: NO, build_emv_tool: YES } - - { name: "MacOS 12", os: macos-12, osx_arch: "x86_64", build_type: "Release", deps: "none", fetch_deps: NO, build_emv_tool: NO } - - { name: "MacOS 12", os: macos-12, osx_arch: "x86_64", build_type: "Debug", deps: "pcsclite", fetch_deps: YES, build_emv_tool: YES } + - { 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: ${{ matrix.name }} (${{ matrix.osx_arch }}) build (static/${{ matrix.build_type }}/${{ matrix.deps }}) runs-on: ${{ matrix.os }} @@ -43,7 +43,7 @@ jobs: echo "PKG_CONFIG_PATH=$(brew --prefix pcsc-lite)/lib/pkgconfig" >> $GITHUB_ENV - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive diff --git a/.github/workflows/ubuntu-build.yaml b/.github/workflows/ubuntu-build.yaml index 8ee1bc1..88a8744 100644 --- a/.github/workflows/ubuntu-build.yaml +++ b/.github/workflows/ubuntu-build.yaml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2022 Leon Lynch +# Copyright (c) 2022-2024 Leon Lynch # # This file is licensed under the terms of the LGPL v2.1 license. # See LICENSE file. @@ -15,9 +15,10 @@ jobs: fail-fast: false matrix: include: - - { name: "Ubuntu 20.04", os: ubuntu-20.04, deps: "none", build_emv_tool: NO } - - { name: "Ubuntu 20.04", os: ubuntu-20.04, deps: "pcsclite", build_emv_tool: YES } - - { name: "Ubuntu 22.04", os: ubuntu-22.04, deps: "pcsclite", build_emv_tool: YES } + - { name: "Ubuntu 20.04", os: ubuntu-20.04, deps: "none", iso8859: "simple", build_emv_tool: NO } + - { 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: ${{ matrix.name }} build (static/debug/${{ matrix.deps }}) runs-on: ${{ matrix.os }} @@ -33,13 +34,13 @@ jobs: run: sudo apt-get install -y libpcsclite-dev - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - run: git describe --always --dirty - name: Configure CMake - run: cmake -B build -DCMAKE_BUILD_TYPE="Debug" -DBUILD_EMV_TOOL=${{ matrix.build_emv_tool }} + run: cmake -B build -DCMAKE_BUILD_TYPE="Debug" -DISO8859_IMPL=${{ matrix.iso8859 }} -DBUILD_EMV_TOOL=${{ matrix.build_emv_tool }} - name: Build run: cmake --build build @@ -65,7 +66,7 @@ jobs: sudo apt-get install -y libboost-locale-dev iso-codes libjson-c-dev libpcsclite-dev doxygen - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 submodules: recursive @@ -90,7 +91,7 @@ jobs: run: cmake --build build --target package - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: emv-utils-${{ env.GIT_DESCRIBE }}-${{ matrix.os }} path: build/emv-utils_*.deb diff --git a/.github/workflows/windows-build.yaml b/.github/workflows/windows-build.yaml index a2c7631..4d3b417 100644 --- a/.github/workflows/windows-build.yaml +++ b/.github/workflows/windows-build.yaml @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 2022 Leon Lynch +# Copyright (c) 2022-2024 Leon Lynch # # This file is licensed under the terms of the LGPL v2.1 license. # See LICENSE file. @@ -31,7 +31,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive