feat(talos): maintain custom talos branch
This commit is contained in:
parent
486bf49c71
commit
197b14da1b
1 changed files with 65 additions and 30 deletions
95
.github/workflows/talos-boot-assets.yaml
vendored
95
.github/workflows/talos-boot-assets.yaml
vendored
|
@ -16,31 +16,6 @@ env:
|
||||||
I915_UCODE_VERSION: 20231111
|
I915_UCODE_VERSION: 20231111
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync-pkgs-fork:
|
|
||||||
name: Sync pkgs fork with upstream
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
repository: ${{ github.repository }}
|
|
||||||
ref: pkgs
|
|
||||||
|
|
||||||
- name: Pull upstream changes
|
|
||||||
id: sync
|
|
||||||
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
|
|
||||||
with:
|
|
||||||
target_sync_branch: pkgs
|
|
||||||
target_repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
target_branch_push_args: --force
|
|
||||||
upstream_sync_branch: main
|
|
||||||
upstream_sync_repo: siderolabs/pkgs
|
|
||||||
git_config_pull_rebase: true
|
|
||||||
|
|
||||||
outputs:
|
|
||||||
has_new_commits: ${{ steps.sync.outputs.has_new_commits }}
|
|
||||||
|
|
||||||
check-releases:
|
check-releases:
|
||||||
name: Check for new releases
|
name: Check for new releases
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -81,8 +56,66 @@ jobs:
|
||||||
talosReleaseTag: ${{ steps.talos-release.outputs.talos_release_tag }}
|
talosReleaseTag: ${{ steps.talos-release.outputs.talos_release_tag }}
|
||||||
talosReleaseBody: ${{ steps.talos-release-body.outputs.talos_release_body }}
|
talosReleaseBody: ${{ steps.talos-release-body.outputs.talos_release_body }}
|
||||||
|
|
||||||
|
sync-talos-fork:
|
||||||
|
needs: [ check-releases ]
|
||||||
|
name: Sync talos fork with upstream
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: ${{ github.repository }}
|
||||||
|
ref: talos
|
||||||
|
|
||||||
|
- name: Pull upstream changes
|
||||||
|
id: sync
|
||||||
|
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
|
||||||
|
with:
|
||||||
|
target_sync_branch: talos
|
||||||
|
target_repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target_branch_push_args: --force
|
||||||
|
upstream_sync_branch: refs/tags/${{ needs.check-releases.outputs.talosReleaseTag }}
|
||||||
|
upstream_sync_repo: siderolabs/talos
|
||||||
|
git_config_pull_rebase: true
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
has_new_commits: ${{ steps.sync.outputs.has_new_commits }}
|
||||||
|
|
||||||
|
sync-pkgs-fork:
|
||||||
|
needs: [ check-releases ]
|
||||||
|
name: Sync pkgs fork with upstream
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: ${{ github.repository }}
|
||||||
|
ref: pkgs
|
||||||
|
|
||||||
|
- name: Get pkgs branch for talos release tag
|
||||||
|
id: get-pkgs-branch
|
||||||
|
run: |
|
||||||
|
release=release-$(grep -Eo '[0-9]\.[0-9]+' <<< '${{ needs.check-releases.outputs.talosReleaseTag }}')
|
||||||
|
echo "release=$release" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Pull upstream changes
|
||||||
|
id: sync
|
||||||
|
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4
|
||||||
|
with:
|
||||||
|
target_sync_branch: pkgs
|
||||||
|
target_repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
target_branch_push_args: --force
|
||||||
|
upstream_sync_branch: ${{ steps.get-pkgs-branch.outputs.release }}
|
||||||
|
upstream_sync_repo: siderolabs/pkgs
|
||||||
|
git_config_pull_rebase: true
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
has_new_commits: ${{ steps.sync.outputs.has_new_commits }}
|
||||||
|
|
||||||
build-kernel:
|
build-kernel:
|
||||||
needs: [ sync-pkgs-fork, check-releases ]
|
needs: [ check-releases, sync-pkgs-fork ]
|
||||||
if: needs.check-releases.outputs.newTalosReleaseFound || github.event_name == 'workflow_dispatch'
|
if: needs.check-releases.outputs.newTalosReleaseFound || github.event_name == 'workflow_dispatch'
|
||||||
name: Build kernel image
|
name: Build kernel image
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -106,7 +139,9 @@ jobs:
|
||||||
|
|
||||||
- name: Get short commit hash
|
- name: Get short commit hash
|
||||||
id: hash
|
id: hash
|
||||||
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
run: |
|
||||||
|
sha_short=$(git rev-parse --short HEAD)
|
||||||
|
echo "sha_short=$sha_short" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
|
@ -128,7 +163,7 @@ jobs:
|
||||||
run: make kernel PUSH=true
|
run: make kernel PUSH=true
|
||||||
|
|
||||||
build-installer:
|
build-installer:
|
||||||
needs: [ check-releases, build-kernel ]
|
needs: [ check-releases, sync-talos-fork, build-kernel ]
|
||||||
if: needs.check-releases.outputs.newTalosReleaseFound || github.event_name == 'workflow_dispatch'
|
if: needs.check-releases.outputs.newTalosReleaseFound || github.event_name == 'workflow_dispatch'
|
||||||
name: Build installer image
|
name: Build installer image
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -137,8 +172,8 @@ jobs:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
repository: siderolabs/talos
|
repository: ${{ github.repository }}
|
||||||
ref: main # refs/tags/${{ needs.check-releases.outputs.talosReleaseTag }}
|
ref: talos
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
|
|
Loading…
Reference in a new issue