Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Snap Testing

Snap Testing #575

Workflow file for this run

# This workflow performs local snap testing on listed snaps
name: Snap Testing
on:
pull_request:
branches: [ main ]
paths-ignore:
- '**.md'
schedule:
# weekly tests run 6AM every Sunday
- cron: "0 3 * * SUN"
# allow manual trigger
workflow_dispatch:
inputs:
localBuild:
description: Build snaps from source (ignore channels)
required: false
default: false
type: boolean
channel:
description: Channel
required: false
default: "latest/edge"
type: choice
options:
- 'latest/edge'
- 'latest/beta'
- 'latest/candidate'
- 'latest/stable'
platform_channel:
description: Platform channel
required: false
default: "latest/edge"
type: choice
options:
- 'latest/edge'
- 'latest/beta'
- 'latest/candidate'
- 'latest/stable'
jobs:
build_and_test:
name: Build & Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: device-mqtt
repo: edgexfoundry/device-mqtt-go
- name: ekuiper
repo: canonical/edgex-ekuiper-snap
- name: app-service-configurable
repo: edgexfoundry/app-service-configurable
- name: device-gpio
repo: edgexfoundry/device-gpio
- name: device-rest
repo: edgexfoundry/device-rest-go
- name: device-snmp
repo: edgexfoundry/device-snmp-go
- name: device-modbus
repo: edgexfoundry/device-modbus-go
- name: edgexfoundry
repo: edgexfoundry/edgex-go
- name: ui
repo: edgexfoundry/edgex-ui-go
- name: device-rfid-llrp
repo: edgexfoundry/device-rfid-llrp-go
- name: app-rfid-llrp-inventory
repo: edgexfoundry/app-rfid-llrp-inventory
- name: device-virtual
repo: edgexfoundry/device-virtual-go
- name: device-usb-camera
repo: edgexfoundry/device-usb-camera
- name: device-onvif-camera
repo: edgexfoundry/device-onvif-camera
- name: edgex-no-sec
repo: edgexfoundry/edgex-go
# use local action to test
steps:
- name: Checkout the local actions
uses: actions/checkout@v3
- name: Build snap
if: ${{ inputs.localBuild }}
uses: ./build
id: build
with:
repo: ${{matrix.repo}}
- name: Checkout the local actions again
uses: actions/checkout@v3
- name: Test snap
uses: ./test
with:
name: ${{matrix.name}}
snap: ${{ inputs.localBuild == true && steps.build.outputs.snap || '' }}
channel: ${{ github.event.inputs.channel }}
platform_channel: ${{ github.event.inputs.platform_channel }}
full_config_test: true