Skip to content

Commit

Permalink
Update Amazon Linux version(s) used in Build & Test workflow (#357)
Browse files Browse the repository at this point in the history
* Remove amazonlinux 1 & 2 which are EoL'd, and replace with amazon linux 2023

* Finish removing AL1 & 2, and configure toolchain for 2023; fix ln when cmake link exists

* Address actionlint issues
  • Loading branch information
nirosys authored Jan 13, 2025
1 parent d61c09a commit fe5a984
Showing 1 changed file with 15 additions and 25 deletions.
40 changes: 15 additions & 25 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,15 @@ jobs:
# Run all jobs, even if one fails. This makes it easier to gather debugging info for various platforms.
fail-fast: false
matrix:
image: ['amazonlinux:1', 'amazonlinux:2']
image: ['amazonlinux:2023']
toolchain: [ "gcc", "clang" ]
include:
- image: amazonlinux:2
- image: amazonlinux:2023
toolchain: gcc
compiler: { cc: 'gcc', cxx: 'g++', packages: 'gcc gcc-c++' }
- image: amazonlinux:2
compiler: { cc: 'gcc', cxx: 'g++', packages: 'gcc gcc-c++', cflags: '', cxxflags: '', ldflags: '' }
- image: amazonlinux:2023
toolchain: clang
compiler: { cc: 'clang', cxx: 'clang++', packages: 'clang gcc10-c++ compiler-rt' }
# amazonlinux:1's 'gcc'/'gcc-c++' packages install 4.8.5 which do not support C++14 which is needed
# by our googletest version. The clang package installs 3.6.2, which supports C++14, but does not support
# the sanitizers we want to use to capture issues during unit testing.
- image: amazonlinux:1
toolchain: gcc
compiler: { cc: 'gcc', cxx: 'g++', packages: "gcc72 gcc72-c++" }
# Need to set the target for clang, since the default target it is configured with differs from the gcc target installed that it depends on.
- image: amazonlinux:1
toolchain: clang
compiler: { cc: 'clang', cxx: 'clang++', packages: 'clang6.0', cxxflags: "-target x86_64-amazon-linux", cflags: "-target x86_64-amazon-linux" }
compiler: { cc: 'clang', cxx: 'clang++', packages: 'clang', cflags: '', cxxflags: '', ldflags: '' }
runs-on: ubuntu-latest
container: ${{ matrix.image }}
env:
Expand All @@ -47,21 +37,21 @@ jobs:
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
# Amazon Linux needs a newer version of git installed for actions/checkout@v2
# Amazon Linux needs a newer version of git installed for actions/checkout
- name: Install Dependencies
run: |
yum install which git make cmake3 -y
ln -s `which cmake3` /usr/bin/cmake
if [ ! -e '/usr/bin/cmake' ]; then ln -s "$(which cmake3)" /usr/bin/cmake; fi
- name: Install ${{ matrix.compiler.cc }}
run: yum install ${{ matrix.compiler.packages }} -y
- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
fetch-tags: true
fetch-depth: 50 # we need to be able to fetch the tag that is nearest to the current commit.
- name: Create git config # Fixes an issue where git refuses to work due to dubious permissions.
run: git config --system --add safe.directory $GITHUB_WORKSPACE
run: git config --system --add safe.directory "$GITHUB_WORKSPACE"
- name: Build Debug
run: ./build-debug.sh
- name: Test Debug
Expand All @@ -83,12 +73,12 @@ jobs:
toolchain: ['gcc', 'clang']
include:
- toolchain: clang
compiler: { cc: 'clang', cxx: 'clang++' }
compiler: { cc: 'clang', cxx: 'clang++', cflags: '', cxxflags: '', ldflags: '' }
- toolchain: gcc
compiler: { cc: 'gcc', cxx: 'g++' }
compiler: { cc: 'gcc', cxx: 'g++', cflags: '', cxxflags: '', ldflags: '' }
- image: 'macos-latest'
toolchain: gcc
compiler: { cc: 'gcc-14', cxx: 'g++-14' }
compiler: { cc: 'gcc-14', cxx: 'g++-14', cflags: '', cxxflags: '', ldflags: '' }
runs-on: ${{ matrix.image }}
env:
CC: ${{ matrix.compiler.cc }}
Expand All @@ -100,13 +90,13 @@ jobs:
ASAN_OPTIONS: "halt_on_error=0"
steps:
- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: recursive
fetch-tags: true
fetch-depth: 50
- name: Create git config # Fixes an issue where git refuses to work due to dubious permissions.
run: git config --global --add safe.directory $GITHUB_WORKSPACE
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Build Debug
id: build_debug
run: ./build-debug.sh
Expand All @@ -130,7 +120,7 @@ jobs:
- name: Install Doxygen
run: sudo apt-get install doxygen -y
- name: Checkout Code
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: recursive
- name: Run Doxygen
Expand Down

0 comments on commit fe5a984

Please sign in to comment.