-
Notifications
You must be signed in to change notification settings - Fork 181
102 lines (88 loc) · 3.75 KB
/
appimage-armhf.yml
File metadata and controls
102 lines (88 loc) · 3.75 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
name: Scopy armhf AppImage Build
on:
workflow_call:
inputs:
docker_tag:
required: true
type: string
secrets:
CLOUDSMITH_SERVICE_SLUG:
required: true
env:
BUILD_HOST: ubuntu-22.04
USERNAME: github-actions
CI_SCRIPT: "ON"
jobs:
make_armhf_appimage:
runs-on: ubuntu-22.04
permissions:
id-token: write
steps:
- name: check storage space
run: df -h
- name: "Runner cleanup"
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
sudo docker builder prune -a --force
- run: df -h
- uses: actions/checkout@v6
with:
set-safe-directory: 'true'
fetch-depth: '0'
- name: Pull the Docker Image
run: docker pull cristianbindea/scopy2-armhf-appimage:${{ inputs.docker_tag }}
- name: Create Scopy AppImage
shell: bash
run: |
cd $GITHUB_WORKSPACE
sudo apt update
./ci/arm/create_sysroot.sh arm32 install_packages install_qemu
./ci/arm/arm_build_process.sh arm32 generate_ci_envs
docker run \
--mount type=bind,source="$GITHUB_WORKSPACE",target=/home/runner/scopy \
--env-file $GITHUB_WORKSPACE/ci/general/gh-actions.envs \
cristianbindea/scopy2-armhf-appimage:${{ inputs.docker_tag }} \
/bin/bash -c 'cd $HOME && \
sudo chown -R runner:runner scopy && \
cd $HOME/scopy && \
./ci/arm/arm_build_process.sh arm32 install_packages move_tools move_sysroot build_scopy build_iio-emu create_appdir create_appimage move_appimage
'
- name: Set short git commit SHA
shell: bash
run: echo "commit_sha=$(git rev-parse --short ${{ github.sha }})" >> "$GITHUB_ENV"
- uses: actions/upload-artifact@v7
with:
name: scopy-armhf-appimage-${{ env.commit_sha }}
path: ${{ github.workspace }}/Scopy-armhf.AppImage
- name: Build Debian package
shell: bash
run: |
sudo apt-get install -y dpkg-dev debhelper devscripts rsync crossbuild-essential-armhf
./ci/packaging/scopy-deb-build.sh scopy32 $GITHUB_WORKSPACE/Scopy-armhf.AppImage
- uses: actions/upload-artifact@v7
with:
name: scopy-armhf-deb-${{ env.commit_sha }}
path: |
${{ github.workspace }}/scopy_*_armhf.deb
${{ github.workspace }}/scopy_*.dsc
${{ github.workspace }}/scopy_*.orig.tar.gz
${{ github.workspace }}/scopy_*.debian.tar.xz
if-no-files-found: error
- name: Authenticate with Cloudsmith via OIDC
if: success() && github.ref == 'refs/heads/main'
uses: cloudsmith-io/cloudsmith-cli-action@v2.0.2
with:
oidc-namespace: adi
oidc-service-slug: ${{ secrets.CLOUDSMITH_SERVICE_SLUG }}
- name: Upload debian package to Cloudsmith
if: success() && env.CLOUDSMITH_API_KEY != ''
run: |
pip install cloudsmith-cli
for f in scopy_*.dsc scopy_*.orig.tar.gz scopy_*.debian.tar.xz; do
[ -f "$f" ] || continue
cloudsmith push raw -SW --republish adi/kuiper-internal "$f"
done
cloudsmith push deb -SW --republish "adi/kuiper-internal/debian/trixie" scopy_*.deb
- name: check storage space
run: df -h