feat(ci): implement testing stream workflows (#2250)
* feat(ci): testing stream * feat(ci): workaround for scheduled stable build on non-default branch * feat(renovate): initial config for testing stream We want to get builds that are triggered by kinoite updates from renovate but promote changes like get-aurora-dev/common and ublue-os/brew from main to the stable branch, while still receiving updates for things like github actions.
This commit is contained in:
parent
261ebbfe5a
commit
42868580f1
6 changed files with 64 additions and 23 deletions
36
.github/renovate.json5
vendored
36
.github/renovate.json5
vendored
|
|
@ -4,7 +4,7 @@
|
||||||
"config:best-practices"
|
"config:best-practices"
|
||||||
],
|
],
|
||||||
|
|
||||||
"baseBranchPatterns": ["main"],
|
"baseBranchPatterns": ["main", "stable-f44"],
|
||||||
|
|
||||||
// Do not rebase when the default branch is updated
|
// Do not rebase when the default branch is updated
|
||||||
"rebaseWhen": "never",
|
"rebaseWhen": "never",
|
||||||
|
|
@ -32,23 +32,35 @@
|
||||||
"matchUpdateTypes": ["digest"]
|
"matchUpdateTypes": ["digest"]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matchUpdateTypes": ["pin", "digest", "pinDigest"],
|
// We always want to trigger a fresh build when we have a new base image on every branch
|
||||||
"matchPackageNames": ["ghcr.io/jasonn3/build-container-installer"],
|
// so we get package and security updates
|
||||||
"automerge": false
|
"matchDepNames": ["quay.io/fedora-ostree-desktops/kinoite"],
|
||||||
},
|
|
||||||
{
|
|
||||||
"automerge": true,
|
"automerge": true,
|
||||||
"matchUpdateTypes": ["digest"],
|
"matchUpdateTypes": ["digest"]
|
||||||
"matchDepNames": [
|
|
||||||
"quay.io/fedora-ostree-desktops/kinoite",
|
|
||||||
"ghcr.io/ublue-os/brew",
|
|
||||||
"ghcr.io/get-aurora-dev/common"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matchDepNames": ["quay.io/fedora-ostree-desktops/kinoite"],
|
"matchDepNames": ["quay.io/fedora-ostree-desktops/kinoite"],
|
||||||
"matchUpdateTypes": ["major"],
|
"matchUpdateTypes": ["major"],
|
||||||
"enabled": false
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchDepNames": [
|
||||||
|
"ghcr.io/ublue-os/brew",
|
||||||
|
"ghcr.io/get-aurora-dev/common"
|
||||||
|
],
|
||||||
|
"matchBaseBranches": ["main"],
|
||||||
|
"automerge": true,
|
||||||
|
"matchUpdateTypes": ["digest"]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matchDepNames": [
|
||||||
|
"ghcr.io/ublue-os/brew",
|
||||||
|
"ghcr.io/get-aurora-dev/common"
|
||||||
|
],
|
||||||
|
// Brew and common are not "security updates", they have to go through :testing/main first
|
||||||
|
// to reach a stable release
|
||||||
|
"matchBaseBranches": ["stable-f44"],
|
||||||
|
"enabled": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ on:
|
||||||
merge_group:
|
merge_group:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- stable-f44
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- "**.md"
|
- "**.md"
|
||||||
- ".github/workflows/moderator.yml"
|
- ".github/workflows/moderator.yml"
|
||||||
|
|
|
||||||
9
.github/workflows/build-image-stable.yml
vendored
9
.github/workflows/build-image-stable.yml
vendored
|
|
@ -1,15 +1,16 @@
|
||||||
name: Stable Images
|
name: Stable Images
|
||||||
on:
|
on:
|
||||||
|
# We do not want this to run after PR merges
|
||||||
|
# we are only publishing weekly :stable images
|
||||||
|
|
||||||
|
# We still want to know if things are broken
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- stable-f44
|
||||||
- testing
|
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- "**.md"
|
- "**.md"
|
||||||
- ".github/workflows/moderator.yml"
|
- ".github/workflows/moderator.yml"
|
||||||
- ".github/workflows/scorecard.yml"
|
- ".github/workflows/scorecard.yml"
|
||||||
schedule:
|
|
||||||
- cron: "0 1 * * TUE" # Every Tuesday at 1:15 AM
|
|
||||||
workflow_call:
|
workflow_call:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
name: Beta Images
|
name: Testing Images
|
||||||
on:
|
on:
|
||||||
#merge_group:
|
merge_group:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- beta
|
- main
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- "**.md"
|
- "**.md"
|
||||||
- ".github/workflows/moderator.yml"
|
- ".github/workflows/moderator.yml"
|
||||||
|
|
@ -27,8 +27,8 @@ permissions:
|
||||||
artifact-metadata: write
|
artifact-metadata: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-image-beta:
|
build-image-testing:
|
||||||
name: Build Beta Images
|
name: Build Testing Images
|
||||||
uses: ./.github/workflows/reusable-build.yml
|
uses: ./.github/workflows/reusable-build.yml
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
strategy:
|
strategy:
|
||||||
|
|
@ -38,7 +38,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
image_flavors: '["main", "nvidia-open"]'
|
image_flavors: '["main", "nvidia-open"]'
|
||||||
brand_name: ${{ matrix.brand_name }}
|
brand_name: ${{ matrix.brand_name }}
|
||||||
stream_name: beta
|
stream_name: testing
|
||||||
previous_build: ${{ inputs.previous_build }}
|
previous_build: ${{ inputs.previous_build }}
|
||||||
# FIXME: MAIN has no arm builds in ublue-os/akmods yet
|
# FIXME: MAIN has no arm builds in ublue-os/akmods yet
|
||||||
# https://github.com/ublue-os/akmods/pull/440
|
# https://github.com/ublue-os/akmods/pull/440
|
||||||
1
.github/workflows/generate-release.yml
vendored
1
.github/workflows/generate-release.yml
vendored
|
|
@ -34,6 +34,7 @@ jobs:
|
||||||
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
|
||||||
with:
|
with:
|
||||||
fetch-depth: 500
|
fetch-depth: 500
|
||||||
|
ref: stable-f44
|
||||||
|
|
||||||
- name: Install Just
|
- name: Install Just
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
27
.github/workflows/trigger-schedule-stable-image.yml
vendored
Normal file
27
.github/workflows/trigger-schedule-stable-image.yml
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# We have this because we can't schedule builds on non-default branches
|
||||||
|
name: Trigger Stable Image Build
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 1 * * TUE" # Every Tuesday at 1:15 AM
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
trigger-stable-build:
|
||||||
|
runs-on: ubuntu-slim
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
actions: write
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||||
|
|
||||||
|
- name: Trigger Stable Image Build
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
BRANCH: stable-f44
|
||||||
|
run: |
|
||||||
|
gh workflow run \
|
||||||
|
build-image-stable.yml \
|
||||||
|
--ref "${BRANCH}"
|
||||||
Loading…
Reference in a new issue