[linux-nacs] Fix compilation #66
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ArchLinux ARM | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
PACKAGER: "Ni Lab <[email protected]>" | |
jobs: | |
build-linux-nacs: | |
name: Build linux-nacs | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
container: | |
image: archlinux:base-devel | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize ArchLinux | |
run: | | |
bash github/setup-archlinux.sh | |
chown -R user . | |
- name: Setup ArchLinux CN repo | |
# For cross compiling tools | |
run: | | |
bash github/setup-archlinux-cn.sh | |
- name: Setup Cross-compiling environment | |
run: | | |
bash github/setup-archlinux-arm.sh | |
- name: Create package | |
run: | | |
cd arch-arm/linux-nacs | |
pacman -S --noconfirm xmlto docbook-xsl kmod inetutils bc uboot-tools | |
for ((i = 0; i < 10; i++)); do | |
pacman-armv7 -S --noconfirm dtc libyaml && break | |
done | |
MAKEFLAGS="-j$(nproc)" su user -p -c makepkg-armv7 | |
- name: "Upload binaries" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-nacs-package-archlinux-arm | |
path: ${{github.workspace}}/arch-arm/linux-nacs/*.pkg.* | |
build-knacs: | |
name: Build knacs | |
needs: build-linux-nacs | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
container: | |
image: archlinux:base-devel | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize ArchLinux | |
run: | | |
bash github/setup-archlinux.sh | |
chown -R user . | |
- name: Setup ArchLinux CN repo | |
# For cross compiling tools | |
run: | | |
bash github/setup-archlinux-cn.sh | |
- name: Setup Cross-compiling environment | |
run: | | |
bash github/setup-archlinux-arm.sh | |
- name: Download linux-nacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-nacs-package-archlinux-arm | |
path: linux-nacs-package | |
- name: Create package | |
run: | | |
cd arch-arm/knacs-git | |
pacman -S --noconfirm cmake | |
pacman-armv7 -U --noconfirm ../../linux-nacs-package/linux-nacs-headers-* | |
MAKEFLAGS="-j$(nproc)" su user -p -c makepkg-armv7 | |
- name: "Upload binaries" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: knacs-git-package-archlinux-arm | |
path: ${{github.workspace}}/arch-arm/knacs-git/*.pkg.* | |
build-nacs-boot: | |
name: Build nacs-boot | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
container: | |
image: archlinux:base-devel | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize ArchLinux | |
run: | | |
bash github/setup-archlinux.sh | |
chown -R user . | |
- name: Setup ArchLinux CN repo | |
# For cross compiling tools | |
run: | | |
bash github/setup-archlinux-cn.sh | |
- name: Setup Cross-compiling environment | |
run: | | |
bash github/setup-archlinux-arm.sh | |
- name: Create package | |
run: | | |
cd arch-arm/nacs-boot | |
MAKEFLAGS="-j$(nproc)" su user -p -c makepkg-armv7 | |
- name: "Upload binaries" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nacs-boot-package-archlinux-arm | |
path: ${{github.workspace}}/arch-arm/nacs-boot/*.pkg.* | |
build-libnacs: | |
name: Build libnacs | |
needs: [build-linux-nacs, build-knacs] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
container: | |
image: archlinux:base-devel | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize ArchLinux | |
run: | | |
bash github/setup-archlinux.sh | |
chown -R user . | |
- name: Setup ArchLinux CN repo | |
# For cross compiling tools | |
run: | | |
bash github/setup-archlinux-cn.sh | |
- name: Setup Cross-compiling environment | |
run: | | |
bash github/setup-archlinux-arm.sh | |
- name: Download linux-nacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-nacs-package-archlinux-arm | |
path: linux-nacs-package | |
- name: Download knacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: knacs-git-package-archlinux-arm | |
path: knacs-git-package | |
- name: Create package | |
run: | | |
cd arch-arm/libnacs-git | |
pacman -S --noconfirm cmake | |
pacman-armv7 -U --noconfirm ../../linux-nacs-package/linux-nacs-* ../../knacs-git-package/knacs-git-* | |
for ((i = 0; i < 10; i++)); do | |
pacman-armv7 -S --noconfirm openlibm zeromq cppzmq && break | |
done | |
MAKEFLAGS="-j$(nproc)" su user -p -c makepkg-armv7 | |
- name: "Upload binaries" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: libnacs-git-package-archlinux-arm | |
path: ${{github.workspace}}/arch-arm/libnacs-git/*.pkg.* | |
build-molecube2: | |
name: Build molecube2 | |
needs: [build-linux-nacs, build-knacs, build-libnacs] | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
container: | |
image: archlinux:base-devel | |
options: --privileged | |
volumes: | |
- /sys/fs/cgroup:/sys/fs/cgroup | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize ArchLinux | |
run: | | |
bash github/setup-archlinux.sh | |
chown -R user . | |
- name: Setup ArchLinux CN repo | |
# For cross compiling tools | |
run: | | |
bash github/setup-archlinux-cn.sh | |
- name: Setup Cross-compiling environment | |
run: | | |
bash github/setup-archlinux-arm.sh | |
- name: Download linux-nacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-nacs-package-archlinux-arm | |
path: linux-nacs-package | |
- name: Download knacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: knacs-git-package-archlinux-arm | |
path: knacs-git-package | |
- name: Download libnacs | |
uses: actions/download-artifact@v4 | |
with: | |
name: libnacs-git-package-archlinux-arm | |
path: libnacs-git-package | |
- name: Create package | |
run: | | |
cd arch-arm/molecube2-git | |
pacman -S --noconfirm cmake | |
pacman-armv7 -U --noconfirm ../../linux-nacs-package/linux-nacs-* ../../knacs-git-package/knacs-git-* ../../libnacs-git-package/libnacs-git-* | |
for ((i = 0; i < 10; i++)); do | |
pacman-armv7 -S --noconfirm zeromq yaml-cpp && break | |
done | |
MAKEFLAGS="-j$(nproc)" su user -p -c makepkg-armv7 | |
- name: "Upload binaries" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: molecube2-git-package-archlinux-arm | |
path: ${{github.workspace}}/arch-arm/molecube2-git/*.pkg.* |