diff --git a/.github/workflows/npe-x500-m3.yml b/.github/workflows/npe-x500-m3.yml new file mode 100644 index 000000000..853ebcdaa --- /dev/null +++ b/.github/workflows/npe-x500-m3.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi.yml b/.github/workflows/raspberrypi.yml new file mode 100644 index 000000000..e5be3e9a6 --- /dev/null +++ b/.github/workflows/raspberrypi.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi0-2w-64.yml b/.github/workflows/raspberrypi0-2w-64.yml new file mode 100644 index 000000000..59818d6d2 --- /dev/null +++ b/.github/workflows/raspberrypi0-2w-64.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi2.yml b/.github/workflows/raspberrypi2.yml new file mode 100644 index 000000000..2e8c2047c --- /dev/null +++ b/.github/workflows/raspberrypi2.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi3-64.yml b/.github/workflows/raspberrypi3-64.yml new file mode 100644 index 000000000..2c50e0a35 --- /dev/null +++ b/.github/workflows/raspberrypi3-64.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi3-unipi-neuron.yml b/.github/workflows/raspberrypi3-unipi-neuron.yml new file mode 100644 index 000000000..8b6ff87aa --- /dev/null +++ b/.github/workflows/raspberrypi3-unipi-neuron.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi3.yml b/.github/workflows/raspberrypi3.yml new file mode 100644 index 000000000..8827bbfaf --- /dev/null +++ b/.github/workflows/raspberrypi3.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi4-64.yml b/.github/workflows/raspberrypi4-64.yml new file mode 100644 index 000000000..feab473bb --- /dev/null +++ b/.github/workflows/raspberrypi4-64.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi4-superhub.yml b/.github/workflows/raspberrypi4-superhub.yml new file mode 100644 index 000000000..5359c8343 --- /dev/null +++ b/.github/workflows/raspberrypi4-superhub.yml @@ -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"]] + } diff --git a/.github/workflows/raspberrypi4-unipi-neuron.yml b/.github/workflows/raspberrypi4-unipi-neuron.yml new file mode 100644 index 000000000..129b00207 --- /dev/null +++ b/.github/workflows/raspberrypi4-unipi-neuron.yml @@ -0,0 +1,43 @@ +name: UniPi Neuron (Raspberry Pi 4) + +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-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"]] + } diff --git a/.github/workflows/raspberrypi400-64.yml b/.github/workflows/raspberrypi400-64.yml new file mode 100644 index 000000000..c2a0cfb53 --- /dev/null +++ b/.github/workflows/raspberrypi400-64.yml @@ -0,0 +1,43 @@ +name: Raspberry Pi 400 + +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: raspberrypi400-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"]] + } diff --git a/.github/workflows/raspberrypi5.yml b/.github/workflows/raspberrypi5.yml new file mode 100644 index 000000000..b15fdfdb9 --- /dev/null +++ b/.github/workflows/raspberrypi5.yml @@ -0,0 +1,43 @@ +name: Raspberry Pi 5 + +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: raspberrypi5 + # 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"]] + } diff --git a/.github/workflows/raspberrypicm4-ioboard.yml b/.github/workflows/raspberrypicm4-ioboard.yml new file mode 100644 index 000000000..0990fca46 --- /dev/null +++ b/.github/workflows/raspberrypicm4-ioboard.yml @@ -0,0 +1,43 @@ +name: Raspberry Pi CM4 IO Board + +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: raspberrypicm4-ioboard + # 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"]] + } diff --git a/.github/workflows/revpi-connect-4.yml b/.github/workflows/revpi-connect-4.yml new file mode 100644 index 000000000..aadebc78a --- /dev/null +++ b/.github/workflows/revpi-connect-4.yml @@ -0,0 +1,43 @@ +name: Revolution Pi Connect 4 + +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: revpi-connect-4 + # 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"]] + } diff --git a/.github/workflows/revpi-connect-s.yml b/.github/workflows/revpi-connect-s.yml new file mode 100644 index 000000000..3d115b5f4 --- /dev/null +++ b/.github/workflows/revpi-connect-s.yml @@ -0,0 +1,43 @@ +name: Revolution Pi Connect S + +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: revpi-connect-s + # 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"]] + } diff --git a/.github/workflows/revpi-connect.yml b/.github/workflows/revpi-connect.yml new file mode 100644 index 000000000..f6d569166 --- /dev/null +++ b/.github/workflows/revpi-connect.yml @@ -0,0 +1,43 @@ +name: Revolution Pi Connect + +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: revpi-connect + # 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"]] + } diff --git a/.github/workflows/revpi-core-3.yml b/.github/workflows/revpi-core-3.yml new file mode 100644 index 000000000..0c45a0482 --- /dev/null +++ b/.github/workflows/revpi-core-3.yml @@ -0,0 +1,43 @@ +name: Revolution Pi Core 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: revpi-core-3 + # 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"]] + } diff --git a/.github/workflows/rt-rpi-300.yml b/.github/workflows/rt-rpi-300.yml new file mode 100644 index 000000000..8db8bdd22 --- /dev/null +++ b/.github/workflows/rt-rpi-300.yml @@ -0,0 +1,43 @@ +name: Rocktech-RPI-300 + +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: rt-rpi-300 + # 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"]] + }