Skip to content

Commit a012e6b

Browse files
authored
Split Windows builds into per-architecture workflows (#553)
* Split staged Windows builds into reusable workflows - add a shared `reusable-build.yml` workflow for the 16-stage build chain - add a `prepare` composite action for checkout, Python setup, workspace init, and stage dependency installation - replace the monolithic `main.yml` workflow with separate `build-x64`, `build-x86`, and `build-arm` entry workflows - keep release publishing aligned with the new per-architecture workflow structure * Checkout sources in each reusable build job - add `actions/checkout@v6` before `prepare` in all reusable build stages - fetch submodules recursively so local actions and repository contents are available on every fresh runner - prevent stage-to-stage workflow runs from failing when later jobs start without a checked out workspace * Configure git identity before upstream rebase
1 parent d69ee6a commit a012e6b

7 files changed

Lines changed: 707 additions & 1325 deletions

File tree

.github/actions/prepare/action.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Prepare Build Environment
2+
description: Checkout sources, set up Python, copy workspace, and install stage dependencies
3+
inputs:
4+
python-version:
5+
description: Python version
6+
required: false
7+
default: '3.12'
8+
runs:
9+
using: composite
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v4
13+
with:
14+
submodules: recursive
15+
16+
- name: Set up Python ${{ inputs.python-version }}
17+
uses: actions/setup-python@v6
18+
with:
19+
python-version: ${{ inputs.python-version }}
20+
21+
- name: Init
22+
shell: pwsh
23+
run: Copy-Item -Path . -Destination 'C:\ungoogled-chromium-windows' -Recurse
24+
25+
- name: Setup Stage
26+
shell: pwsh
27+
run: npm install
28+
working-directory: ./.github/actions/stage

.github/workflows/build-arm.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: build-arm
2+
on:
3+
workflow_dispatch:
4+
push:
5+
tags:
6+
- '*'
7+
8+
permissions:
9+
contents: read
10+
11+
concurrency:
12+
group: build-arm-${{ github.ref }}
13+
cancel-in-progress: false
14+
15+
jobs:
16+
build:
17+
uses: ./.github/workflows/reusable-build.yml
18+
with:
19+
arm: true

.github/workflows/build-x64.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: build-x64
2+
on:
3+
workflow_dispatch:
4+
push:
5+
tags:
6+
- '*'
7+
8+
permissions:
9+
contents: read
10+
11+
concurrency:
12+
group: build-x64-${{ github.ref }}
13+
cancel-in-progress: false
14+
15+
jobs:
16+
build:
17+
uses: ./.github/workflows/reusable-build.yml

.github/workflows/build-x86.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: build-x86
2+
on:
3+
workflow_dispatch:
4+
push:
5+
tags:
6+
- '*'
7+
8+
permissions:
9+
contents: read
10+
11+
concurrency:
12+
group: build-x86-${{ github.ref }}
13+
cancel-in-progress: false
14+
15+
jobs:
16+
build:
17+
uses: ./.github/workflows/reusable-build.yml
18+
with:
19+
x86: true

0 commit comments

Comments
 (0)