Skip to content

Snap CI

Snap CI #120

name: Snap Build and Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Allow manual trigger
workflow_dispatch:
jobs:
# build:
# runs-on: ubuntu-latest
# env:
# arch: arm64
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Setup QEMU
# uses: docker/setup-qemu-action@v3
# with:
# platforms: ${{ env.arch }}
# - name: Build snap for arm64
# uses: diddlesnaps/snapcraft-multiarch-action@v1
# id: build
# with:
# architecture: ${{ env.arch }}
# - name: Upload artifact
# uses: actions/upload-artifact@v4
# with:
# name: matter-pi-gpio-commander_${{ github.run_number}}_${{ env.arch }}.snap
# path: ${{ steps.build.outputs.snap }}
test:
# needs: build
runs-on:
# - ubuntu-latest
- Ubuntu_ARM64_4C_16G_01
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get Runner informations
run: sudo apt-get update && sudo apt-get install -y gpiod libgpiod-dev libgpiod2; uname -a;
- name: Get Kernel Runner config
working-directory: tests
run: sudo cat /boot/config-$(uname -r) > config-$(uname -r).log
- name: Get CPU information
run: cat /proc/cpuinfo
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.*'
cache: false
- name: Run tests
working-directory: tests
env:
MOCK_GPIO: true
SKIP_TEARDOWN_REMOVAL: true
# LOCAL_SERVICE_SNAP: ../${{ steps.snapcraft.outputs.snap }}
LOCAL_SERVICE_SNAP: "*.snap"
run: |
snap download matter-pi-gpio-commander --edge
go test -failfast -p 1 -timeout 20m -v
- name: Upload snap logs
if: always()
uses: actions/upload-artifact@v4
with:
name: snap-logs
path: tests/*.log