Skip to content

Commit

Permalink
Add ubuntu 24.04 ci (#1)
Browse files Browse the repository at this point in the history
Add Ubuntu 24.04 with LLVM 14, 15, 16 and 17

Refactored GitHub workflow to use a matrix for Ubuntu ci.
  • Loading branch information
rjaegers authored and AlexDenisov committed May 22, 2024
1 parent 63b7c10 commit 4adfdf9
Show file tree
Hide file tree
Showing 14 changed files with 53 additions and 106 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- "**"

jobs:
macos-11:
macos:
name: LLVM ${{ matrix.LLVM_VERSION }}
runs-on: macos-latest
strategy:
Expand Down
79 changes: 0 additions & 79 deletions .github/workflows/ci-ubuntu-22.04.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Ubuntu 20.04 CI
name: Ubuntu CI

env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
Expand All @@ -13,16 +13,27 @@ on:
- "**"

jobs:
ubuntu-20-04:
name: LLVM ${{ matrix.LLVM_VERSION }}
ubuntu:
name: Ubuntu ${{ matrix.UBUNTU_VERSION }} LLVM ${{ matrix.LLVM_VERSION }}
runs-on: ubuntu-latest
container: ubuntu:20.04
container: ubuntu:${{ matrix.UBUNTU_VERSION }}
strategy:
matrix:
LLVM_VERSION: [12]
UBUNTU_VERSION: ["22.04", "24.04"]
LLVM_VERSION: [14, 15]
include:
- UBUNTU_VERSION: "20.04"
LLVM_VERSION: 12
- UBUNTU_VERSION: "22.04"
LLVM_VERISON: 13
- UBUNTU_VERSION: "24.04"
LLVM_VERSION: 16
- UBUNTU_VERSION: "24.04"
LLVM_VERSION: 17
env:
DISTR_REPO: "ubuntu/focal"
DEBIAN_FRONTEND: noninteractive
# Necessary for Ubuntu 24.04 since PEP 668
PIP_BREAK_SYSTEM_PACKAGES: 1

steps:
- name: Debugging
Expand All @@ -32,15 +43,18 @@ jobs:
- name: Install software
run: |
apt-get update && apt-get install -y software-properties-common
add-apt-repository ppa:git-core/ppa
apt-get update && apt-get install -y python3-pip curl git
apt-get update && apt-get install --no-install-recommends -y python3-pip curl libunwind8
pip3 install ansible
- name: Add git ppa
if: matrix.UBUNTU_VERSION != '24.04'
run: |
apt-get update && apt-get install --no-install-recommends -y gpg-agent software-properties-common
add-apt-repository ppa:git-core/ppa
- name: Install git
run: |
apt-get update
apt-get install -y git
apt-get update && apt-get install --no-install-recommends -y git
git config --global --add safe.directory $PWD
- name: Checkout sources
Expand All @@ -65,8 +79,9 @@ jobs:
- name: Publish package
if: env.CLOUDSMITH_API_KEY != null
run: |
UBUNTU_CODENAME=$(. /etc/os-release; echo "${UBUNTU_CODENAME/*, /}")
cloudsmith push deb \
mull-project/mull-${{ steps.metadata.outputs.channel }}/${{ env.DISTR_REPO }} \
mull-project/mull-${{ steps.metadata.outputs.channel }}/ubuntu/${UBUNTU_CODENAME} \
infrastructure/packages/`cat infrastructure/PACKAGE_FILE_NAME`.deb
- name: Move package
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/mull-20.04.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
name: Mull (20.04)

env:
DISTR_REPO: "ubuntu/focal"

on:
pull_request:

Expand Down
1 change: 0 additions & 1 deletion infrastructure/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
packages
PACKAGE_FILE_NAME
PackageMaker.app

1 change: 0 additions & 1 deletion infrastructure/Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -137,4 +137,3 @@ Vagrant.configure(2) do |config|
end

end

1 change: 0 additions & 1 deletion infrastructure/debian-playbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,3 @@

- name: Integration Tests
include: helpers/integration-tests.yaml

1 change: 0 additions & 1 deletion infrastructure/fedora-playbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,3 @@

- name: Integration Tests
include: helpers/integration-tests.yaml

1 change: 0 additions & 1 deletion infrastructure/freebsd-playbook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,3 @@

- name: Integration Tests
include: helpers/integration-tests.yaml

2 changes: 1 addition & 1 deletion infrastructure/helpers/mull.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
mutators:
- cxx_add_to_sub
- cxx_add_to_sub
20 changes: 20 additions & 0 deletions infrastructure/helpers/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,26 @@ llvm_mapping:
cmake_cxx: /opt/homebrew/opt/llvm@12/bin/clang++

ubuntu:
"17":
cmake_search_paths: "/usr/lib/llvm-17/cmake/;/usr/lib/cmake/clang-17/"
packages:
- llvm-17-dev
- libclang-17-dev
- libc++-17-dev
- libc++abi-17-dev
- clang-17
cmake_cc: clang-17
cmake_cxx: clang++-17
"16":
cmake_search_paths: "/usr/lib/llvm-16/cmake/;/usr/lib/cmake/clang-16/"
packages:
- llvm-16-dev
- libclang-16-dev
- libc++-16-dev
- libc++abi-16-dev
- clang-16
cmake_cc: clang-16
cmake_cxx: clang++-16
"15":
cmake_search_paths: "/usr/lib/llvm-15/cmake/;/usr/lib/cmake/clang-15/"
packages:
Expand Down
1 change: 0 additions & 1 deletion infrastructure/helpers/working-directory.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,3 @@
owner: "{{ ansible_user_id }}"
recurse: true
become: true

Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ RUN: %mull_runner %s-ir-with-flag.exe -reporters=IDE -ide-reporter-show-killed 2
WITHOUT-JUNK-DETECTION:{{^.*}}sample.cpp:5:13: warning: Survived: Removed the call to the function [cxx_remove_void_call]{{$}}
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}}sample.cpp:2:2: error: "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:#error "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE: ^
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}}#error "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}} ^
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:[warning] Cannot parse file: '{{.*}}sample.cpp':
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:cc {{.*}}sample.cpp{{.*}}
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:Make sure that the flags provided to Mull are the same flags that are used for normal compilation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ RUN: cd %S && env MULL_CONFIG=%S/mull.no_flag.yml %clang_cxx %sysroot -O0 %pass_
RUN: %mull_runner -ide-reporter-show-killed %s-ir-no-flag.exe 2>&1 | %filecheck %s --dump-input=fail --strict-whitespace --match-full-lines --check-prefix=WITH-JUNK-DETECTION-NO-FLAG
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}}sample.cpp:2:2: error: "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:#error "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE: ^
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}}#error "FLAG is not defined"
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:{{^.*}} ^
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:[warning] Cannot parse file: '{{.*}}sample.cpp':
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:mull {{.*}}sample.cpp{{.*}}
WITH-JUNK-DETECTION-NO-FLAG-MUTATE:Make sure that the flags provided to Mull are the same flags that are used for normal compilation.
Expand Down

0 comments on commit 4adfdf9

Please sign in to comment.