Skip to content
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
d45638f
product_query changes
beojan Jan 23, 2026
bb44f6b
Part 1(!!!) of change to allow specifying creator
beojan Jan 26, 2026
e8b9e25
Apply clang-format fixes
github-actions[bot] Jan 26, 2026
33567e4
Format Jsonnet files
beojan Jan 26, 2026
e481316
Update Spack config to use C++23
beojan Jan 29, 2026
99750c2
Undo changes to input_arguments.cpp
beojan Jan 30, 2026
dcc0b77
Add back operator== for product_query
beojan Jan 30, 2026
01de027
Compendium including introducing phlex(::experimental)::identifier
beojan Jan 30, 2026
993ce71
Apply clang-format fixes
github-actions[bot] Jan 30, 2026
ffb510c
Remove get_string_view()
beojan Jan 31, 2026
9a6e391
Move more of the product_query implementation out of line
beojan Jan 31, 2026
4e130f8
Fix build error
beojan Feb 2, 2026
7a36733
Merge branch 'main' into new-product-query-api
beojan Feb 3, 2026
c70c5db
Fix merge commit errors
beojan Feb 4, 2026
7df7b33
Merge branch 'main' into new-product-query-api
beojan Feb 18, 2026
b4ee412
Fix errors
beojan Feb 18, 2026
521de38
Apply clang-format fixes
github-actions[bot] Feb 18, 2026
2186615
gcc is fine with that consteval, but clang isn't
beojan Feb 18, 2026
fde87c8
Improve coverage
beojan Feb 18, 2026
4223a41
Make algorithm_name use identifiers
beojan Feb 19, 2026
f88cbfe
Merge remote-tracking branch 'upstream/main' into new-product-query-api
beojan Feb 19, 2026
6a83597
Merge branch 'new-product-query-api' into new-product-query
beojan Feb 19, 2026
d4bbfca
Fix failing test
beojan Feb 20, 2026
6cc0c94
type_id now has an std::hash
beojan Feb 23, 2026
86d2af7
Make type_id std::hash const
beojan Feb 23, 2026
b95c7bf
Preparatory changes to tests
beojan Feb 24, 2026
ef91458
Preparatory changes
beojan Feb 24, 2026
588c3e6
[WIP] Workaround for FORM
knoepfel Feb 27, 2026
a72d95d
Merge branch 'main' into new-product-query
knoepfel Feb 27, 2026
4b37aca
Address merge conflicts
knoepfel Feb 27, 2026
f2361a5
Fix product_specification creation from product_query
knoepfel Mar 2, 2026
f4b4c50
Fix FORM test
beojan Mar 2, 2026
3c48ce0
Apply clang-format fixes
github-actions[bot] Mar 2, 2026
3b27805
Address review comments
beojan Mar 4, 2026
dbc49a6
Apply YAML formatter fixes
github-actions[bot] Mar 4, 2026
7eff32f
Apply clang-format fixes
github-actions[bot] Mar 4, 2026
249e236
Make default constructed identifiers valid
beojan Mar 4, 2026
9c84445
Merge branch 'main' into new-product-query
beojan Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions .github/actions/build-cmake/action.yaml
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
name: 'Build with CMake'
description: 'Builds the project using CMake'
name: "Build with CMake"
description: "Builds the project using CMake"

inputs:
source-path:
description: 'Path where source code is checked out'
description: "Path where source code is checked out"
required: false
default: 'phlex-src'
default: "phlex-src"
build-path:
description: 'Path for build directory'
description: "Path for build directory"
required: false
default: 'phlex-build'
default: "phlex-build"
target:
description: 'CMake target to build (empty for default target)'
description: "CMake target to build (empty for default target)"
required: false
default: ''
default: ""
parallel-jobs:
description: 'Number of parallel jobs (empty for auto-detect)'
description: "Number of parallel jobs (empty for auto-detect)"
required: false
default: ''
default: ""

runs:
using: 'composite'
using: "composite"
steps:
- shell: bash
run: |
# Source the container entrypoint script
. /entrypoint.sh
cd "$GITHUB_WORKSPACE/$BUILD_PATH"

# Determine parallel jobs
if [ -n "$PARALLEL_JOBS" ]; then
jobs_arg="-j $PARALLEL_JOBS"
else
jobs_arg="-j $(nproc)"
fi

# Determine target
if [ -n "$TARGET" ]; then
target_arg="--target $TARGET"
Expand All @@ -43,7 +43,7 @@ runs:
target_arg=""
echo "Building default target"
fi

# Build
cmake --build . $jobs_arg $target_arg
env:
Expand Down
42 changes: 21 additions & 21 deletions .github/actions/configure-cmake/action.yaml
Original file line number Diff line number Diff line change
@@ -1,46 +1,46 @@
name: 'Configure CMake'
description: 'Configures CMake with preset detection and customizable options'
name: "Configure CMake"
description: "Configures CMake with preset detection and customizable options"

inputs:
preset:
description: 'CMake preset to use (e.g., coverage, default)'
description: "CMake preset to use (e.g., coverage, default)"
required: false
default: 'default'
default: "default"
source-path:
description: 'Path where source code is checked out'
description: "Path where source code is checked out"
required: false
default: 'phlex-src'
default: "phlex-src"
build-path:
description: 'Path for build directory'
description: "Path for build directory"
required: false
default: 'phlex-build'
default: "phlex-build"
build-type:
description: 'CMake build type (Release, Debug, etc.) [do not use with coverage presets]'
description: "CMake build type (Release, Debug, etc.) [do not use with coverage presets]"
required: false
default: ''
default: ""
extra-options:
description: 'Additional CMake configuration options'
description: "Additional CMake configuration options"
required: false
default: ''
default: ""
enable-form:
description: 'Enable FORM support'
description: "Enable FORM support"
required: false
default: 'ON'
default: "ON"
form-root-storage:
description: 'Enable FORM root storage'
description: "Enable FORM root storage"
required: false
default: 'ON'
default: "ON"
generator:
description: 'Specify CMake generator'
description: "Specify CMake generator"
required: false
default: 'Ninja'
default: "Ninja"
cpp-compiler:
description: 'The C++ compiler to use'
description: "The C++ compiler to use"
required: false
default: 'g++'
default: "g++"

runs:
using: 'composite'
using: "composite"
steps:
- shell: bash
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/detect-act-env/action.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Detect act environment
description: 'Detects if the workflow is running in the act environment'
description: "Detects if the workflow is running in the act environment"
outputs:
is_act:
description: "True if running in act, false otherwise"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/detect-relevant-changes/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ runs:
# Types that do not support .in variants for relevance detection
declare -A NO_IN_VARIANT_TYPES
NO_IN_VARIANT_TYPES[jsonnet]="1"

parse_list() {
local input="$1"
printf '%s' "$input" | tr ',' '\n' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//' -e '/^$/d'
Expand Down
12 changes: 6 additions & 6 deletions .github/actions/generate-build-matrix/action.yaml
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
name: 'Generate Build Matrix'
description: 'Generates a dynamic build matrix for the cmake-build workflow'
name: "Generate Build Matrix"
description: "Generates a dynamic build matrix for the cmake-build workflow"
inputs:
user-input:
description: 'The user-provided build combinations from a workflow_dispatch event'
description: "The user-provided build combinations from a workflow_dispatch event"
required: false
comment-body:
description: 'The body of the issue comment that triggered the workflow'
description: "The body of the issue comment that triggered the workflow"
required: false
outputs:
matrix:
description: 'The generated build matrix in JSON format'
description: "The generated build matrix in JSON format"
value: ${{ steps.generate.outputs.matrix }}
runs:
using: 'composite'
using: "composite"
steps:
- id: generate
run: python "$ACTION_PATH/generate_matrix.py"
Expand Down
12 changes: 6 additions & 6 deletions .github/actions/get-pr-info/action.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: 'Get PR Info'
description: 'Gets PR information for workflows triggered by an issue comment'
name: "Get PR Info"
description: "Gets PR information for workflows triggered by an issue comment"
outputs:
ref:
description: 'The head ref of the PR'
description: "The head ref of the PR"
value: ${{ steps.get_pr_info.outputs.ref }}
sha:
description: 'The head SHA of the PR'
description: "The head SHA of the PR"
value: ${{ steps.get_pr_info.outputs.sha }}
repo:
description: 'The full name of the head repository'
description: "The full name of the head repository"
value: ${{ steps.get_pr_info.outputs.repo }}
base_sha:
description: 'The SHA of the base branch'
description: "The SHA of the base branch"
value: ${{ steps.get_pr_info.outputs.base_sha }}
runs:
using: "composite"
Expand Down
32 changes: 16 additions & 16 deletions .github/actions/handle-fix-commit/action.yaml
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
name: 'Handle Fix Commit'
description: 'Commits changes if possible, otherwise creates a patch and comments on the PR.'
name: "Handle Fix Commit"
description: "Commits changes if possible, otherwise creates a patch and comments on the PR."

outputs:
changes:
description: 'Whether changes were detected'
description: "Whether changes were detected"
value: ${{ steps.check_changes.outputs.changes }}
pushed:
description: 'Whether changes were pushed'
description: "Whether changes were pushed"
value: ${{ steps.commit_and_push.outputs.pushed }}
commit_sha:
description: 'The full SHA of the pushed commit'
description: "The full SHA of the pushed commit"
value: ${{ steps.commit_and_push.outputs.commit_sha }}
commit_sha_short:
description: 'The short SHA of the pushed commit'
description: "The short SHA of the pushed commit"
value: ${{ steps.commit_and_push.outputs.commit_sha_short }}
patch_name:
description: 'The name of the patch file if created'
description: "The name of the patch file if created"
value: ${{ steps.create_patch.outputs.patch_name }}

inputs:
tool:
description: 'The tool name reported in commit messages and PR comments.'
description: "The tool name reported in commit messages and PR comments."
required: true
working-directory:
description: 'The working directory for git operations.'
description: "The working directory for git operations."
required: false
default: 'phlex-src'
default: "phlex-src"
token:
description: 'The PAT to use for committing.'
description: "The PAT to use for committing."
required: true
pr-info-ref:
description: 'The ref (branch name) of the PR'
description: "The ref (branch name) of the PR"
required: true
pr-info-repo:
description: 'The repository of the PR'
description: "The repository of the PR"
required: true
retry-attempts:
description: 'The number of times to retry pushing the commit.'
description: "The number of times to retry pushing the commit."
required: false
default: '6'
default: "6"

runs:
using: "composite"
Expand All @@ -58,7 +58,7 @@ runs:
if: steps.check_changes.outputs.changes == 'false' && github.event.pull_request.number
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
with:
message: 'No automatic ${{ inputs.tool }} fixes were necessary.'
message: "No automatic ${{ inputs.tool }} fixes were necessary."

- name: Get PR maintainer_can_modify property
id: pr-properties
Expand Down
22 changes: 11 additions & 11 deletions .github/actions/setup-build-env/action.yaml
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
name: 'Setup Build Environment'
description: 'Sets up the Phlex build environment with source and build directories'
name: "Setup Build Environment"
description: "Sets up the Phlex build environment with source and build directories"

inputs:
source-path:
description: 'Path where source code is checked out'
description: "Path where source code is checked out"
required: false
default: 'phlex-src'
default: "phlex-src"
build-path:
description: 'Path for build directory'
description: "Path for build directory"
required: false
default: 'phlex-build'
default: "phlex-build"

outputs:
source-dir:
description: 'Absolute path to source directory'
description: "Absolute path to source directory"
value: ${{ steps.setup.outputs.source-dir }}
build-dir:
description: 'Absolute path to build directory'
description: "Absolute path to build directory"
value: ${{ steps.setup.outputs.build-dir }}

runs:
using: 'composite'
using: "composite"
steps:
- id: setup
shell: bash
run: |
# Create and export build directory
mkdir -p "$GITHUB_WORKSPACE/$BUILD_PATH"

# Set outputs
printf 'source-dir=%s/%s\n' "$GITHUB_WORKSPACE" "$SOURCE_PATH" >> "$GITHUB_OUTPUT"
printf 'build-dir=%s/%s\n' "$GITHUB_WORKSPACE" "$BUILD_PATH" >> "$GITHUB_OUTPUT"

echo "Source directory: $GITHUB_WORKSPACE/$SOURCE_PATH"
echo "Build directory: $GITHUB_WORKSPACE/$BUILD_PATH"
env:
Expand Down
Loading