8000 add darling-prebuilt workflow · awakecoding/llvm-prebuilt@bbc31a5 · GitHub
[go: up one dir, main page]

Skip to content

Commit bbc31a5

Browse files
author
Marc-André Moreau
committed
add darling-prebuilt workflow
1 parent de9c21d commit bbc31a5

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: darling prebuilt
2+
on: workflow_dispatch
3+
jobs:
4+
build:
5+
name: darling [${{matrix.arch}}-${{matrix.os}}]
6+
runs-on: ${{matrix.runner}}
7+
strategy:
8+
fail-fast: false
9+
matrix:
10+
arch: [ x86_64 ]
11+
os: [ ubuntu-18.04, ubuntu-20.04 ]
12+
13+
include:
14+
- os: ubuntu-18.04
15+
runner: ubuntu-18.04
16+
- os: ubuntu-20.04
17+
runner: ubuntu-20.04
18+
19+
steps:
20+
- name: Configure runner
21+
run: |
22+
sudo apt update
23+
sudo apt install git cmake ninja-build xz-utils
24+
sudo apt install bison flex pkg-config libfuse-dev libudev-dev \
25+
linux-headers-generic gcc-multilib libcairo2-dev libgl1-mesa-dev libglu1-mesa-dev libtiff5-dev \
26+
libfreetype6-dev git libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev \
27+
libxrandr-dev libxcursor-dev libgif-dev libavutil-dev libpulse-dev libavformat-dev libavcodec-dev \
28+
libavresample-dev libdbus-1-dev libxkbfile-dev libssl-dev
29+
sudo apt install python2 2&>/dev/null || true
30+
31+
- name: Install clang+llvm
32+
run: |
33+
CLANG_LLVM_OS="ubuntu-$(lsb_release -rs)"
34+
CLANG_LLVM_BASE_URL="https://github.com/awakecoding/llvm-prebuilt/releases/download/v2021.2.4"
35+
CLANG_LLVM_NAME="clang+llvm-12.0.1-x86_64-${CLANG_LLVM_OS}"
36+
wget -q "${CLANG_LLVM_BASE_URL}/${CLANG_LLVM_NAME}.tar.xz"
37+
tar -xf "${CLANG_LLVM_NAME}.tar.xz" -C /tmp
38+
sudo mv "/tmp/${CLANG_LLVM_NAME}" /opt/llvm
39+
echo "LLVM_DIR=/opt/llvm/lib/cmake/llvm" >> $GITHUB_ENV
40+
echo "PATH=$PATH:/opt/llvm/bin" >> $GITHUB_ENV
41+
echo "CC=clang" >> $GITHUB_ENV
42+
echo "CXX=clang++" >> $GITHUB_ENV
43+
44+
- name: Clone Darling
45+
uses: actions/checkout@v2
46+
with:
47+
repository: darlinghq/darling
48+
ref: master
49+
path: darling
50+
submodules: recursive
51+
lfs: true
52+
53+
- name: Configure Darling
54+
run: |
55+
cmake -G Ninja -S darling -B darling-build \
56+
-DCMAKE_BUILD_TYPE=Release \
57+
-DFULL_BUILD=OFF \
58+
-DTARGET_i386=OFF -Wno-dev \
59+
-DCMAKE_INSTALL_PREFIX="/opt/darling"
60+
61+
- name: Build Darling
62+
run: cmake --build darling-build
63+
64+
- name: Install Darling
65+
run: cmake --install darling-build
66+
67+
- name: Package Darling
68+
run: |
69+
PACKAGE_NAME="darling-${{matrix.arch}}-${{matrix.os}}"
70+
tar -cJf ${PACKAGE_NAME}.tar.xz /opt/darling
71+
72+
- name: Upload Darling package
73+
uses: actions/upload-artifact@v2
74+
with:
75+
name: darling-${{matrix.arch}}-${{matrix.os}}
76+
path: darling-${{matrix.arch}}-${{matrix.os}}.tar.xz

0 commit comments

Comments
 (0)
0