-
-
Notifications
You must be signed in to change notification settings - Fork 12
66 lines (60 loc) · 2.56 KB
/
linux-arm64.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: Linux ARM64
on:
- push
- pull_request
jobs:
build:
name: build
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
attestations: write
steps:
- uses: actions/checkout@v4
- name: install deps
run: |
# Add arm64 sources
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy main restricted" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates main restricted" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy universe" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates universe" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy multiverse" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy-updates multiverse" >> /etc/apt/sources.list.d/arm.list
sudo echo "deb [arch=arm64] http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse" >> /etc/apt/sources.list.d/arm.list
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu gettext
# Remove conflicting packages
sudo apt remove -y libglib2.0-dev
sudo dpkg --add-architecture arm64
# We only need these to build, not to run. Skip the dependency check.
sudo apt download libpurple0:arm64 libpurple-dev:arm64 libglib2.0-dev:arm64 libjson-glib-dev:arm64 libjson-glib-1.0-0:arm64 zlib1g-dev:arm64
sudo dpkg --force-depends -i *_arm64.deb *_arm64.deb
- name: make
run: |
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/aarch64-linux-gnu/pkgconfig/
export CC=aarch64-linux-gnu-gcc
make
file libteams.so
mv libteams.so libteams_arm64.so
mv libteams-personal.so libteams-personal_arm64.so
- name: archive
if: ${{ !env.ACT }}
uses: actions/upload-artifact@v4
with:
name: plugin
path: lib*.so
- name: release
if: ${{ !env.ACT }}
uses: ncipollo/release-action@v1
with:
artifacts: lib*.so
tag: nightly-${{ github.sha }}
name: Nightly ${{ github.sha }}
allowUpdates: true
makeLatest: true
- name: attest
if: ${{ !env.ACT }}
uses: actions/attest-build-provenance@v1
with:
subject-path: lib*.so