Skip to content

Commit aca0669

Browse files
committed
Initial commit
0 parents  commit aca0669

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

.github/workflows/build.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
name: build-${{ matrix.os }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
matrix:
16+
os:
17+
- ubuntu-24.04
18+
- ubuntu-22.04
19+
- ubuntu-20.04
20+
steps:
21+
22+
- name: checkout
23+
uses: actions/checkout@v4
24+
25+
- name: setup-apt-llvm
26+
uses: ./
27+
28+
- name: test-apt-llvm
29+
run: |
30+
sudo apt install -y \
31+
clang-20 \
32+
clang-19 \
33+
clang-18 \
34+
clang-17 \
35+
clang-16 \
36+
clang-15 \
37+
clang-14

action.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
name: setup-apt-llvm
2+
description: Setup apt.llvm.org repositories
3+
runs:
4+
using: composite
5+
steps:
6+
- if: ${{ runner.os == 'Linux' }}
7+
run: ${{ github.action_path }}/setup.sh
8+
shell: bash

setup.sh

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
LSB_CODENAME=$(lsb_release -cs)
6+
7+
curl -f -L --retry 5 https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg --yes
8+
9+
{
10+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME main"
11+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-20 main"
12+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-19 main"
13+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-18 main"
14+
} | sudo tee /etc/apt/sources.list.d/llvm-toolchain.list
15+
16+
if [[ $LSB_CODENAME == "jammy" || $LSB_CODENAME == "focal" ]]; then
17+
{
18+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-17 main"
19+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-16 main"
20+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-15 main"
21+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-14 main"
22+
} | sudo tee -a /etc/apt/sources.list.d/llvm-toolchain.list
23+
fi
24+
25+
if [[ $LSB_CODENAME == "focal" ]]; then
26+
{
27+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-13 main"
28+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-12 main"
29+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-11 main"
30+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-10 main"
31+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/$LSB_CODENAME llvm-toolchain-$LSB_CODENAME-9 main"
32+
} | sudo tee -a /etc/apt/sources.list.d/llvm-toolchain.list
33+
fi
34+
35+
exec sudo apt update

0 commit comments

Comments
 (0)