Skip to content

Commit

Permalink
Merge pull request #756 from balena-os/kyle/surface-gha
Browse files Browse the repository at this point in the history
Add workflows for Surface Go and Surface Pro 6
  • Loading branch information
flowzone-app[bot] authored Aug 23, 2024
2 parents ff6d1ad + 59eb7b1 commit bafe5dc
Show file tree
Hide file tree
Showing 4 changed files with 156 additions and 28 deletions.
41 changes: 27 additions & 14 deletions .github/workflows/genericx86-64.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
name: Generic x86_64 (legacy MBR)

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.
# 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"
- main
- master
# ESR branches glob pattern
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
pull_request_target:
branches:
- "main"
- "master"
- main
- master
# ESR branches glob pattern
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
push:
tags:
# Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH)
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
# 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
# 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/[email protected]
uses: balena-os/balena-yocto-scripts/.github/workflows/[email protected]
# 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
Expand All @@ -34,8 +45,6 @@ jobs:
secrets: inherit
with:
machine: genericx86-64-ext
# Needed for testing - defaults to production
environment: balena-staging.com
# Use qemu workers for testing
test_matrix: >
{
Expand All @@ -44,3 +53,7 @@ jobs:
"worker_type": ["qemu"],
"runs_on": [["self-hosted", "X64", "kvm"]]
}
# 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-staging.com' }}
41 changes: 27 additions & 14 deletions .github/workflows/intel-nuc.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,42 @@
name: Intel NUC

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.
# 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"
- main
- master
# ESR branches glob pattern
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
pull_request_target:
branches:
- "main"
- "master"
- main
- master
# ESR branches glob pattern
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
push:
tags:
# Semver tags glob pattern (includes ESR in format v20YY.MM.PATCH)
- v[0-9]+.[0-9]+.[0-9]+\+?r?e?v?*
- v20[0-9][0-9].[0-1]?[1470].[0-9]+
# 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
# 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/[email protected]
uses: balena-os/balena-yocto-scripts/.github/workflows/[email protected]
# 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
Expand All @@ -34,8 +45,6 @@ jobs:
secrets: inherit
with:
machine: genericx86-64
# Needed for testing - defaults to production
environment: balena-staging.com
# Use autokit workers for testing and run on free hosted runners
test_matrix: >
{
Expand All @@ -44,3 +53,7 @@ jobs:
"worker_type": ["testbot"],
"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-staging.com' }}
51 changes: 51 additions & 0 deletions .github/workflows/surface-go.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Microsoft Surface Go

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
# - v20[0-9][0-9].[0-1]?[1470].[0-9]+
pull_request_target:
branches:
- main
- master
# ESR branches glob pattern
# - v20[0-9][0-9].[0-1]?[1470].[0-9]+
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/[email protected]
# 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: surface-go
# 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-staging.com' }}
51 changes: 51 additions & 0 deletions .github/workflows/surface-pro-6.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Microsoft Surface 6

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
# - v20[0-9][0-9].[0-1]?[1470].[0-9]+
pull_request_target:
branches:
- main
- master
# ESR branches glob pattern
# - v20[0-9][0-9].[0-1]?[1470].[0-9]+
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/[email protected]
# 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: surface-pro-6
# 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-staging.com' }}

0 comments on commit bafe5dc

Please sign in to comment.