Skip to content

Add Ubuntu 24.04 ci

Add Ubuntu 24.04 ci #6

Workflow file for this run

name: Ubuntu CI
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
on:
pull_request:
push:
branches:
- main
tags:
- "**"
jobs:
ubuntu:
name: Ubuntu ${{ matrix.UBUNTU_VERSION }} LLVM ${{ matrix.LLVM_VERSION }}
runs-on: ubuntu-latest
container: ubuntu:${{ matrix.UBUNTU_VERSION }}
strategy:
matrix:
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:
DEBIAN_FRONTEND: noninteractive
steps:
- name: Debugging
run: |
env | sort
cat $GITHUB_EVENT_PATH
- name: Install software
run: |
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 software-properties-common
add-apt-repository ppa:git-core/ppa
- name: Install git
apt-get update && apt-get install --no-install-recommends -y git
git config --global --add safe.directory $PWD
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: true
- uses: ./actions/detect-package-metadata
id: metadata
- name: Run CI task
run: |
cd infrastructure && \
ansible-playbook ubuntu-playbook.yaml \
-e llvm_version="${{ matrix.LLVM_VERSION }}" \
-e source_dir=$PWD/.. \
-e gitref=$GITHUB_SHA \
-e host=localhost \
-e mull_version=${{ steps.metadata.outputs.version }}${{ steps.metadata.outputs.suffix }} \
--verbose
- 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 }}/ubuntu/${UBUNTU_CODENAME} \
infrastructure/packages/`cat infrastructure/PACKAGE_FILE_NAME`.deb
- name: Move package
run: |
mkdir -p /tmp/packages
mv infrastructure/packages/`cat infrastructure/PACKAGE_FILE_NAME`.deb /tmp/packages/`cat infrastructure/PACKAGE_FILE_NAME`.deb
- uses: ./actions/attach-package
with:
GH_API_KEY: ${{ secrets.GITHUB_TOKEN }}