Skip to content

Commit

Permalink
Add GHA BTD workflows to all Raspberry Pi repository devices
Browse files Browse the repository at this point in the history
Changelog-entry: Add GHA build test deploy workflows to repository
Signed-off-by: Vipul Gupta (@vipulgupta2048) <vipulgupta2048@gmail.com>
  • Loading branch information
vipulgupta2048 committed Jul 29, 2024
1 parent 5f1c710 commit 4a6c112
Show file tree
Hide file tree
Showing 18 changed files with 774 additions and 0 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/npe-x500-m3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: NPE X500 M3

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: npe-x500-m3
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberry-pi
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi0-2w-64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi Zero 2 W (64bit)

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi0-2w-64
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi 2

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberry-pi2
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi3-64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi 3 (using 64bit OS)

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi3-64
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi3-unipi-neuron.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: UniPi Neuron (Raspberry Pi 3)

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi3-unipi-neuron
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi 3

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi3
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi4-64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Raspberry Pi 4 (using 64bit OS)

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi4-64
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
43 changes: 43 additions & 0 deletions .github/workflows/raspberrypi4-superhub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: SuperHub

on:
# With these triggers the Yocto jobs will run
# in parallel with the Flowzone jobs, which is fine for now
# and allows us to better control what we want to test and when.
# It is expected that Flowzone could fail, but yocto jobs will run.
pull_request:
branches:
- "main"
- "master"
pull_request_target:
branches:
- "main"
- "master"
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
workflow_dispatch:

jobs:
yocto:
name: Yocto
# FIXME: This workflow has dependencies on scripts in the balena-yocto-scripts repository
# which is pinned separately as a submodule in the device repo. Expect some drift but try to retain compatibility.
uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@d59fac4cce1dcff0b423ac97aeccbd7f4486b9c2 # v1.25.8
# Prevent duplicate workflow executions for pull_request (PR) and pull_request_target (PRT) events.
# Both PR and PRT will be triggered for the same pull request, whether it is internal or from a fork.
# This condition will prevent the workflow from running twice for the same pull request while
# still allowing it to run for all other event types.
if: (github.event.pull_request.head.repo.full_name == github.repository) == (github.event_name == 'pull_request')
secrets: inherit
with:
machine: raspberrypi4-superhub
# worker_type defaults to testbot
# worker_fleets defaults to balena/testbot-rig,balena/testbot-rig-partners,balena/testbot-rig-x86,balena/testbot-rig-partners-x86
test_matrix: >
{
"test_suite": ["os","cloud","hup"],
"environment": ["bm.balena-dev.com"],
"runs_on": [["ubuntu-latest"]]
}
Loading

0 comments on commit 4a6c112

Please sign in to comment.