Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/copilot/codebase-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 1. Repository Overview

- **Language Stack**: C++20 and Python 3.11
- **Language Stack**: C++20 and Python 3.12
- **GUI Framework**: Qt5-based Workbench
- **Build System**: CMake 3.21+ with Ninja generator
- **Package Manager**: Conda (with pixi for development)
Expand Down Expand Up @@ -472,7 +472,7 @@ pre-commit run --all-files # Run all pre-commit hooks

### Runtime

- Python 3.11+
- Python 3.12
- Qt5 / PyQt5
- HDF5 (NeXus format)
- Boost
Expand Down
4 changes: 2 additions & 2 deletions .github/copilot/instructions-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Complete structural reference for the Mantid codebase.

**Contents:**

- Repository overview (C++20, Python 3.11, Qt5 GUI, CMake, Conda)
- Repository overview (C++20, Python 3.12, Qt5 GUI, CMake, Conda)
- Full project structure (Framework modules, Qt GUI, scripts, testing, instruments)
- Build system (CMakePresets.json, build targets, workflow)
- Code formatting (clang-format, clang-tidy, pre-commit hooks)
Expand Down Expand Up @@ -109,7 +109,7 @@ Index and navigation guide for the reference materials.

| Aspect | Details |
| ------------------ | -------------------------------------------------------- |
| **Language** | C++20 (primary), Python 3.11, Qt5 (GUI) |
| **Language** | C++20 (primary), Python 3.12, Qt5 (GUI) |
| **Build** | CMake 3.21+, Ninja generator, Conda/Pixi for deps |
| **Code Format** | LLVM style (clang-format), 120 column limit |
| **C++ Tests** | CxxTest framework, header files (.h), CxxTest::TestSuite |
Expand Down
32 changes: 30 additions & 2 deletions .github/workflows/linux_build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,47 @@ on:
pull_request:
types: [opened, synchronize, reopened]

workflow_dispatch:
inputs:
RUNNER_LABEL:
description: 'Match Runner Label'
required: false
type: string


# cancel previous job if a new commit is pushed
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
linux-build-and-test:
runs-on: [self-hosted, linux, x64]
runs-on:
- ${{ (inputs.RUNNER_LABEL == '' && 'self-hosted') || inputs.RUNNER_LABEL }}
- self-hosted
- Linux
- X64
#
# If the user who clicked "Run Workflow" button left the RUNNER_LABEL field blank,
# the default evaluated output is the string 'self-hosted'.
# Otherwise set it to the value the user specified when they clicked "Run Workflow"
#

steps:
- name: Print shell environment vars (debug)
if: github.event_name == 'workflow_dispatch'
run: |
env -0 | while IFS='' read -d '' line ; do printf '%s\t: %s\n' "${line%%=*}" "${line#*=}" | expand -t 30 | sed ':a;N;$!ba;s/\n/ /g'; done | LC_COLLATE=C sort -b
#
# If this workflow was triggered manually,
# print a sorted list of all shell environment variables
#

- uses: actions/checkout@v4
with:
# Needed to fetch the tags for versioningit
fetch-depth: "0"
fetch-depth: 100
fetch-tags: true

- name: Run unit tests and system tests on Linux
run: ${GITHUB_WORKSPACE}/buildconfig/Jenkins/Conda/conda-buildscript ${GITHUB_WORKSPACE} linux-64-ci --enable-systemtests
Expand Down
2 changes: 1 addition & 1 deletion buildconfig/CMake/Bootstrap.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ function(unset_cached_Python_variables)
endfunction()

# Find python interpreter
set(MINIMUM_PYTHON_VERSION 3.11)
set(MINIMUM_PYTHON_VERSION 3.12)
# If we are not building the mantid framework we don't need the numpy developer env
if(MANTID_FRAMEWORK_LIB STREQUAL "BUILD")
find_package(Python ${MINIMUM_PYTHON_VERSION} REQUIRED COMPONENTS Interpreter Development NumPy)
Expand Down
Loading
Loading