From 81814e47ac701efdc95e258bd1ae02ecd63ae731 Mon Sep 17 00:00:00 2001 From: "Vipul Gupta (@vipulgupta2048)" Date: Mon, 22 Jul 2024 20:18:56 +0530 Subject: [PATCH] Add GHA BTD workflows to all Raspberry Pi repository devices Changelog-entry: Add GHA build test deploy workflows to repository Signed-off-by: Vipul Gupta (@vipulgupta2048) --- .github/workflows/flowzone.yml | 2 +- .github/workflows/npe-x500-m3.yml | 49 +++++++++++++++ .github/workflows/raspberrypi.yml | 59 +++++++++++++++++++ .github/workflows/raspberrypi0-2w-64.yml | 59 +++++++++++++++++++ .github/workflows/raspberrypi2.yml | 59 +++++++++++++++++++ .github/workflows/raspberrypi3-64.yml | 59 +++++++++++++++++++ .../workflows/raspberrypi3-unipi-neuron.yml | 58 ++++++++++++++++++ .github/workflows/raspberrypi3.yml | 58 ++++++++++++++++++ .github/workflows/raspberrypi4-64.yml | 58 ++++++++++++++++++ .github/workflows/raspberrypi4-superhub.yml | 50 ++++++++++++++++ .../workflows/raspberrypi4-unipi-neuron.yml | 58 ++++++++++++++++++ .github/workflows/raspberrypi400-64.yml | 50 ++++++++++++++++ .github/workflows/raspberrypi5.yml | 50 ++++++++++++++++ .github/workflows/raspberrypicm4-ioboard.yml | 58 ++++++++++++++++++ .github/workflows/revpi-connect-4.yml | 58 ++++++++++++++++++ .github/workflows/revpi-connect-s.yml | 50 ++++++++++++++++ .github/workflows/revpi-connect.yml | 58 ++++++++++++++++++ .github/workflows/revpi-core-3.yml | 57 ++++++++++++++++++ .github/workflows/rt-rpi-300.yml | 57 ++++++++++++++++++ 19 files changed, 1006 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/npe-x500-m3.yml create mode 100644 .github/workflows/raspberrypi.yml create mode 100644 .github/workflows/raspberrypi0-2w-64.yml create mode 100644 .github/workflows/raspberrypi2.yml create mode 100644 .github/workflows/raspberrypi3-64.yml create mode 100644 .github/workflows/raspberrypi3-unipi-neuron.yml create mode 100644 .github/workflows/raspberrypi3.yml create mode 100644 .github/workflows/raspberrypi4-64.yml create mode 100644 .github/workflows/raspberrypi4-superhub.yml create mode 100644 .github/workflows/raspberrypi4-unipi-neuron.yml create mode 100644 .github/workflows/raspberrypi400-64.yml create mode 100644 .github/workflows/raspberrypi5.yml create mode 100644 .github/workflows/raspberrypicm4-ioboard.yml create mode 100644 .github/workflows/revpi-connect-4.yml create mode 100644 .github/workflows/revpi-connect-s.yml create mode 100644 .github/workflows/revpi-connect.yml create mode 100644 .github/workflows/revpi-core-3.yml create mode 100644 .github/workflows/rt-rpi-300.yml diff --git a/.github/workflows/flowzone.yml b/.github/workflows/flowzone.yml index 1f65637e0..58c7b55a3 100644 --- a/.github/workflows/flowzone.yml +++ b/.github/workflows/flowzone.yml @@ -26,4 +26,4 @@ jobs: github.event.pull_request.head.repo.full_name != github.repository && github.event_name == 'pull_request_target' ) - secrets: inherit + secrets: inherit \ No newline at end of file diff --git a/.github/workflows/npe-x500-m3.yml b/.github/workflows/npe-x500-m3.yml new file mode 100644 index 000000000..7e27af402 --- /dev/null +++ b/.github/workflows/npe-x500-m3.yml @@ -0,0 +1,49 @@ +name: NPE X500 M3 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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 + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} diff --git a/.github/workflows/raspberrypi.yml b/.github/workflows/raspberrypi.yml new file mode 100644 index 000000000..396984b04 --- /dev/null +++ b/.github/workflows/raspberrypi.yml @@ -0,0 +1,59 @@ +name: Raspberry Pi + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + - 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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: raspberrypi + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} + diff --git a/.github/workflows/raspberrypi0-2w-64.yml b/.github/workflows/raspberrypi0-2w-64.yml new file mode 100644 index 000000000..bb5115215 --- /dev/null +++ b/.github/workflows/raspberrypi0-2w-64.yml @@ -0,0 +1,59 @@ +name: Raspberry Pi Zero 2 W (64bit) + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} + diff --git a/.github/workflows/raspberrypi2.yml b/.github/workflows/raspberrypi2.yml new file mode 100644 index 000000000..776d2b734 --- /dev/null +++ b/.github/workflows/raspberrypi2.yml @@ -0,0 +1,59 @@ +name: Raspberry Pi 2 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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: raspberrypi2 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} + diff --git a/.github/workflows/raspberrypi3-64.yml b/.github/workflows/raspberrypi3-64.yml new file mode 100644 index 000000000..71967b8fa --- /dev/null +++ b/.github/workflows/raspberrypi3-64.yml @@ -0,0 +1,59 @@ +name: Raspberry Pi 3 (using 64bit OS) + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + - 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} + diff --git a/.github/workflows/raspberrypi3-unipi-neuron.yml b/.github/workflows/raspberrypi3-unipi-neuron.yml new file mode 100644 index 000000000..9ab5ed0d6 --- /dev/null +++ b/.github/workflows/raspberrypi3-unipi-neuron.yml @@ -0,0 +1,58 @@ +name: UniPi Neuron (Raspberry Pi 3) + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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": ["balena-cloud.com"], + "runs_on": [["ubuntu-latest"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi3.yml b/.github/workflows/raspberrypi3.yml new file mode 100644 index 000000000..7db9e6ea6 --- /dev/null +++ b/.github/workflows/raspberrypi3.yml @@ -0,0 +1,58 @@ +name: Raspberry Pi 3 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + - 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi4-64.yml b/.github/workflows/raspberrypi4-64.yml new file mode 100644 index 000000000..d90ef8585 --- /dev/null +++ b/.github/workflows/raspberrypi4-64.yml @@ -0,0 +1,58 @@ +name: Raspberry Pi 4 (using 64bit OS) + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + - 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi4-superhub.yml b/.github/workflows/raspberrypi4-superhub.yml new file mode 100644 index 000000000..2258452be --- /dev/null +++ b/.github/workflows/raspberrypi4-superhub.yml @@ -0,0 +1,50 @@ +name: SuperHub + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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 + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi4-unipi-neuron.yml b/.github/workflows/raspberrypi4-unipi-neuron.yml new file mode 100644 index 000000000..ed5239565 --- /dev/null +++ b/.github/workflows/raspberrypi4-unipi-neuron.yml @@ -0,0 +1,58 @@ +name: UniPi Neuron (Raspberry Pi 4) + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi400-64.yml b/.github/workflows/raspberrypi400-64.yml new file mode 100644 index 000000000..e591d1452 --- /dev/null +++ b/.github/workflows/raspberrypi400-64.yml @@ -0,0 +1,50 @@ +name: Raspberry Pi 400 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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 + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypi5.yml b/.github/workflows/raspberrypi5.yml new file mode 100644 index 000000000..e73cb49f8 --- /dev/null +++ b/.github/workflows/raspberrypi5.yml @@ -0,0 +1,50 @@ +name: Raspberry Pi 5 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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 + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/raspberrypicm4-ioboard.yml b/.github/workflows/raspberrypicm4-ioboard.yml new file mode 100644 index 000000000..7c25ac4e8 --- /dev/null +++ b/.github/workflows/raspberrypicm4-ioboard.yml @@ -0,0 +1,58 @@ +name: Raspberry Pi CM4 IO Board + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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": ["balena-cloud.com"], + "runs_on": [["ubuntu-latest"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/revpi-connect-4.yml b/.github/workflows/revpi-connect-4.yml new file mode 100644 index 000000000..e7345408b --- /dev/null +++ b/.github/workflows/revpi-connect-4.yml @@ -0,0 +1,58 @@ +name: Revolution Pi Connect 4 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/revpi-connect-s.yml b/.github/workflows/revpi-connect-s.yml new file mode 100644 index 000000000..cf8b84fc7 --- /dev/null +++ b/.github/workflows/revpi-connect-s.yml @@ -0,0 +1,50 @@ +name: Revolution Pi Connect S + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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 + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/revpi-connect.yml b/.github/workflows/revpi-connect.yml new file mode 100644 index 000000000..6abd70c6a --- /dev/null +++ b/.github/workflows/revpi-connect.yml @@ -0,0 +1,58 @@ +name: Revolution Pi Connect + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/revpi-core-3.yml b/.github/workflows/revpi-core-3.yml new file mode 100644 index 000000000..18a838b4b --- /dev/null +++ b/.github/workflows/revpi-core-3.yml @@ -0,0 +1,57 @@ +name: Revolution Pi Core 3 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file diff --git a/.github/workflows/rt-rpi-300.yml b/.github/workflows/rt-rpi-300.yml new file mode 100644 index 000000000..8fd7ea1a8 --- /dev/null +++ b/.github/workflows/rt-rpi-300.yml @@ -0,0 +1,57 @@ +name: Rocktech-RPI-300 + +on: + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore + # https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet + pull_request: + branches: + - main + - master + # ESR branches glob pattern + #- 20[0-9][0-9].[0-1]?[1470].x + pull_request_target: + branches: + - main + - master + push: + tags: + # Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH) + - v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?* + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + inputs: + force-finalize: + description: Force finalize of the build (implicitly enables hostapp and S3 deployments) + required: false + type: boolean + default: false + deploy-environment: + description: Environment to use for build and deploy + required: false + type: string + default: balena-staging.com + +jobs: + yocto: + name: Yocto + uses: balena-os/balena-yocto-scripts/.github/workflows/yocto-build-deploy.yml@v1.25.28 + # 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": ["balena-cloud.com"], + "runs_on": [["ubuntu-latest"]] + } + # Allow manual workflow runs to force finalize without checking previous test runs + # force-finalize: ${{ inputs.force-finalize || false }} + # Default to balena-staging.com for workflow dispatch, but balena-cloud.com for other events + deploy-environment: ${{ inputs.deploy-environment || 'balena-cloud.com' }} \ No newline at end of file