-
Notifications
You must be signed in to change notification settings - Fork 49
61 lines (52 loc) · 2.02 KB
/
armhf_lxd.yaml
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
on: [push, pull_request]
jobs:
build_job:
# The host should always be linux
runs-on: ubuntu-22.04
name: Build on ubuntu22.04 armhf
# Run steps on a matrix of 4 arch/distro combinations
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: uraimo/run-on-arch-action@v2
name: Build artifact
id: build
with:
arch: armv7
distro: ubuntu22.04
# Not required, but speeds up builds
#githubToken: ${{ github.token }}
# Mount the artifacts directory as /artifacts in the container
dockerRunArgs: |
--volume "$GITHUB_WORKSPACE/checkbox:/checkbox"
# The shell to run commands with in the container
shell: /bin/bash
# Install some dependencies in the container. This speeds up builds if
# you are also using githubToken. Any dependencies installed here will
# be part of the container image that gets cached, so subsequent
# builds don't have to re-install them. The image layer is cached
# publicly in your project's package repository, so it is vital that
# no secrets are present in the container state or logs.
install: |
apt-get update
apt-get install -y -qq snapd
systemctl unmask snapd.service
systemctl enable snapd.service
systemctl start snapd.service
snap install lxd snapcraft
lxd init --auto
# Produce a binary artifact and place it in the mounted volume
run: |
cd /checkbox/checkbox-core-snap/
./prepare.sh series22
cd series22
snapcraft --use-lxd
- name: Show the artifact
# Items placed in /artifacts in the container will be in
# ${PWD}/artifacts on the host.
run: |
ls checkbox/checkbox-core-snap/series22
- uses: actions/upload-artifact@v4
with:
path: checkbox-core-snap/series22/*.snap