diff --git a/.github/workflows/CiWorkflow.yml b/.github/workflows/CiWorkflow.yml index 08e9b38..0a9d858 100644 --- a/.github/workflows/CiWorkflow.yml +++ b/.github/workflows/CiWorkflow.yml @@ -24,6 +24,11 @@ on: required: false default: "" type: string + runner-images: + description: 'JSON array string of runner images to use for the OS matrix (e.g. ["ubuntu-latest", "windows-latest"])' + required: false + default: '["ubuntu-latest", "windows-latest", "ubuntu-24.04-arm"]' + type: string jobs: basic_ci: @@ -76,7 +81,7 @@ jobs: strategy: matrix: - os: [ ubuntu-latest, windows-latest, ubuntu-24.04-arm ] + os: ${{ fromJSON(inputs.runner-images) }} steps: - name: ✅ Checkout Repository ✅ diff --git a/.sync/Files.yml b/.sync/Files.yml index 7b47c04..9ac0129 100644 --- a/.sync/Files.yml +++ b/.sync/Files.yml @@ -503,7 +503,7 @@ group: repos: | OpenDevicePartnership/patina-dxe-core-qemu -# CI Workflow: patina-mtrr & patina-paging +# CI Workflow: patina-mtrr - files: - source: .sync/workflows/leaf/ci-workflow.yml dest: .github/workflows/ci-workflow.yml @@ -511,12 +511,28 @@ group: build_tasks: - "build" - "build-x64" - - "build-aarch64" run_cargo_vet: false + runner_images: + - "ubuntu-latest" + - "windows-latest" trigger_branches: - "main" repos: | OpenDevicePartnership/patina-mtrr + +# CI Workflow: patina-paging + - files: + - source: .sync/workflows/leaf/ci-workflow.yml + dest: .github/workflows/ci-workflow.yml + template: + build_tasks: + - "build" + - "build-x64" + - "build-aarch64" + run_cargo_vet: false + trigger_branches: + - "main" + repos: | OpenDevicePartnership/patina-paging # CI Workflow: patina-components diff --git a/.sync/rust/Makefiles/Makefile-patina-mtrr.toml b/.sync/rust/Makefiles/Makefile-patina-mtrr.toml index 854c05b..b097597 100644 --- a/.sync/rust/Makefiles/Makefile-patina-mtrr.toml +++ b/.sync/rust/Makefiles/Makefile-patina-mtrr.toml @@ -138,29 +138,12 @@ clear = true command = "cargo" args = ["build", "--target", "x86_64-unknown-uefi", "@@split(BUILD_FLAGS, )", "@@split(UEFI_CRATES, )"] -[tasks.build-aarch64] -description = """Builds patina_mtrr crate as UEFI target. - -Example: - `cargo make build-aarch64` - `cargo make -p release build-aarch64` -""" -clear = true -command = "cargo" -args = ["build", "--target", "aarch64-unknown-uefi", "@@split(BUILD_FLAGS, )", "@@split(UEFI_CRATES, )"] - [tasks.check_code_x64] description = "Checks rust code for x64 build errors with results." private = true command = "cargo" args = ["check", "--target", "x86_64-unknown-uefi", "--features", "ci_features", "@@split(CARGO_MAKE_TASK_ARGS, )", "@@split(NO_STD_FLAGS, )",] -[tasks.check_code_aarch64] -description = "Checks rust code for aarch64 build errors with results." -private = true -command = "cargo" -args = ["check", "--target", "aarch64-unknown-uefi", "--features", "ci_features", "@@split(CARGO_MAKE_TASK_ARGS, )", "@@split(NO_STD_FLAGS, )",] - [tasks.check_tests] description = "Checks rust test code for build errors with results." private = true @@ -170,7 +153,7 @@ args = ["test", "--no-run", "--all-targets", "--all-features", "@@split(CARGO_MA [tasks.check] description = "Checks rust code for errors. Example `cargo make check`" clear = true -run_task = [{ name = ["check_code_x64", "check_code_aarch64", "check_tests"], parallel = true }] +run_task = [{ name = ["check_code_x64", "check_tests"], parallel = true }] [tasks.check-no-default-features-code] description = "Checks rust code compiles without default features." @@ -289,7 +272,7 @@ exec --fail-on-error cargo test --target ${target} --workspace --features std [tasks.clippy] description = "Run cargo clippy for the host target and both UEFI cross-compilation targets." clear = true -run_task = [{ name = ["clippy-x64", "clippy-aarch64", "clippy-std"], parallel = true }] +run_task = [{ name = ["clippy-x64", "clippy-std"], parallel = true }] [tasks.clippy-x64] description = "Run cargo clippy for x86_64-unknown-uefi." @@ -297,12 +280,6 @@ private = true command = "cargo" args = ["clippy", "--target", "x86_64-unknown-uefi", "--features", "ci_features", "@@split(NO_STD_FLAGS, )", "--", "-D", "warnings"] -[tasks.clippy-aarch64] -description = "Run cargo clippy for aarch64-unknown-uefi." -private = true -command = "cargo" -args = ["clippy", "--target", "aarch64-unknown-uefi", "--features", "ci_features", "@@split(NO_STD_FLAGS, )", "--", "-D", "warnings"] - [tasks.clippy-std] description = "Run cargo clippy for std." private = true @@ -360,7 +337,6 @@ dependencies = [ "check-no-default-features", "build", "build-x64", - "build-aarch64", "coverage", "doc-test", "doc", diff --git a/.sync/workflows/leaf/ci-workflow.yml b/.sync/workflows/leaf/ci-workflow.yml index 530f657..056ca61 100644 --- a/.sync/workflows/leaf/ci-workflow.yml +++ b/.sync/workflows/leaf/ci-workflow.yml @@ -53,6 +53,9 @@ jobs: with: build-tasks: {{ build_tasks | join(",") }} run-cargo-vet: {{ run_cargo_vet }} +{% if runner_images %} + runner-images: '{{ runner_images | dump | safe }}' +{% endif %} secrets: inherit {% if test_mdbook -%} {{" "}}mdbook_docs_test: