Skip to content
Open
Show file tree
Hide file tree
Changes from 136 commits
Commits
Show all changes
145 commits
Select commit Hold shift + click to select a range
867cee9
FDTD | Feature | Add observation output foundations
adrianarce-elemwave Jul 22, 2026
3fcfd40
CI | Run checks for stacked pull requests
adrianarce-elemwave Jul 22, 2026
7ae12e9
FDTD | Feature | Add point wire bulk and far-field outputs
adrianarce-elemwave Jul 22, 2026
5db0f92
FDTD | Feature | Add VTK observation output
adrianarce-elemwave Jul 22, 2026
5dcc5e4
FDTD | Feature | Add XDMF movie and frequency outputs
adrianarce-elemwave Jul 22, 2026
03539ec
FDTD | Feature | Integrate observation output pipeline
adrianarce-elemwave Jul 22, 2026
fd0384f
FDTD | ENV | #409 | Allow usage of isolated IA on containers
adrianarce-elemwave Jul 6, 2026
9dbc97d
FDTD | ENV | #409 | Include specific fortran skills
adrianarce-elemwave Jul 13, 2026
92c5dd6
FDTD | ENV | #409 | Paraview included on dev container tool
adrianarce-elemwave Jul 13, 2026
f32e35b
FDTD | Tests | Fix probe output file units
adrianarce-elemwave Jul 14, 2026
859799f
FDTD | ENV | #409 | simplify docker file
adrianarce-elemwave Jul 14, 2026
e4c6fff
FDTD | Fix | Import output allocation helpers
adrianarce-elemwave Jul 27, 2026
2462bb7
FDTD | ENV | Unify build directory and add Intel container
adrianarce-elemwave Jul 28, 2026
64c84ca
FDTD | ENV | Include debug mpi docs. Minor adjustments for mpi debug …
adrianarce-elemwave Jul 28, 2026
44593f2
FDTD | fix | Applied pr requested changes
adrianarce-elemwave Aug 5, 2026
263ad61
FDTD | Spec | Define robust output layer
adrianarce-elemwave Jul 24, 2026
a0a8a60
FDTD | Feature | Add XDMF HDF5 library with parallel support
adrianarce-elemwave Jul 24, 2026
4bdff7d
FDTD | Feature | Add robust distributed output artifacts
adrianarce-elemwave Jul 24, 2026
c419187
FDTD | Feature | Integrate output pipeline and retire legacy dispatch
adrianarce-elemwave Jul 24, 2026
cf8fbc7
FDTD | Feature | Publish movie probes as temporal XDMF
adrianarce-elemwave Jul 24, 2026
eece7be
FDTD | Feature | Publish spatial frequency slices
adrianarce-elemwave Jul 24, 2026
8ec00ed
FDTD | Test | Organise and verify output tests
adrianarce-elemwave Jul 24, 2026
282baed
FDTD | Dev | Configure Fortran language tooling
adrianarce-elemwave Jul 24, 2026
1b590ea
FDTD | Build | Require Fortran 2018 for XDMF API
adrianarce-elemwave Jul 24, 2026
15da6e9
FDTD | Test | Describe output unit tests
adrianarce-elemwave Jul 24, 2026
ca99dca
wip: doc files to check current output status
adrianarce-elemwave Jul 24, 2026
6941345
FDTD | Feature | Strengthen output artifact publication
adrianarce-elemwave Jul 24, 2026
f3615e1
wip: doc for testing and minor discrepancy
adrianarce-elemwave Jul 27, 2026
6c40119
FDTD | Feature | Add line probe output
adrianarce-elemwave Jul 27, 2026
5b1c910
FDTD | Test | Cover line probe reductions
adrianarce-elemwave Jul 27, 2026
16e9b43
FDTD | Test | Fix line probe MPI reduction
adrianarce-elemwave Jul 27, 2026
6cecb78
FDTD | Fix | Avoid duplicate line probe interface samples
adrianarce-elemwave Jul 27, 2026
3d47bc5
FDTD | Feature | Add binary output for sampled probes
adrianarce-elemwave Jul 27, 2026
6c9e3ab
FDTD | Feature | Organize probe output artifacts
adrianarce-elemwave Jul 27, 2026
64a11c6
FDTD | Fix | Write coupled MTLN probe output
adrianarce-elemwave Jul 30, 2026
78896c8
FDTD | Test | Read binary dielectric probes
adrianarce-elemwave Jul 30, 2026
bc58423
FDTD | Fix | Preserve text probe artifact API
adrianarce-elemwave Jul 30, 2026
2e97beb
FDTD | Fix | Restore point and bulk probe outputs
adrianarce-elemwave Jul 30, 2026
40afa6a
FDTD | Feature | Publish geometry map XDMF artifacts
adrianarce-elemwave Jul 30, 2026
521259f
FDTD | Cleanup | Remove output module toggle
adrianarce-elemwave Jul 31, 2026
3160e9a
FDTD | Fix | Link MPI C++ unit tests
adrianarce-elemwave Jul 31, 2026
7f25d8e
FDTD | Fix | Select usable HDF5 libraries
adrianarce-elemwave Jul 31, 2026
da75fff
FDTD | Fix | Test Path
adrianarce-elemwave Aug 3, 2026
baf9238
FDTD | Fix | Discover probe output artifacts
adrianarce-elemwave Aug 3, 2026
a39b884
FDTD | Minor | Ruff formatting
adrianarce-elemwave Aug 4, 2026
51320ca
FDTD | FIx | reoder volumic probe do cycle
adrianarce-elemwave Aug 4, 2026
516665c
wip
adrianarce-elemwave Aug 4, 2026
cb6132b
FDTD | Minor | Annotate output test fixtures
adrianarce-elemwave Aug 10, 2026
c5b1cc9
FDTD | Minor | Adjust farfield probe test
adrianarce-elemwave Aug 10, 2026
16b98ce
FDTD | Fix | Guard MTLN initialization
adrianarce-elemwave Aug 10, 2026
912210b
FDTD | Cleanup | Remove observation tests
adrianarce-elemwave Aug 10, 2026
1876f68
FDTD | Cleanup | Remove obsolete VTK tests
adrianarce-elemwave Aug 10, 2026
5c23e3a
FDTD | Cleanup | Move preprocess tests under unit
adrianarce-elemwave Aug 10, 2026
2320556
FDTD | Cleanup | Move rotate tests under unit
adrianarce-elemwave Aug 10, 2026
1ae3850
FDTD | Cleanup | Split MPI Python tests
adrianarce-elemwave Aug 10, 2026
1f58873
FDTD | Cleanup | Separate pyWrapper unit tests
adrianarce-elemwave Aug 10, 2026
3111be1
FDTD | Cleanup | Clarify pyWrapper test variables
adrianarce-elemwave Aug 11, 2026
2cab23f
FDTD | Fix | Map VTK field lookup
adrianarce-elemwave Aug 11, 2026
c4334ed
FDTD | Feature | Publish movie geometry tags
adrianarce-elemwave Aug 11, 2026
bf888b0
FDTD | Fix | Exclude movie geometry companion discovery
adrianarce-elemwave Aug 11, 2026
50a910b
FDTD | Fix | Publish MTLN map segment types
adrianarce-elemwave Aug 11, 2026
e1abdf0
FDTD | Fix | Detect pyWrapper build features
adrianarce-elemwave Aug 11, 2026
06436b2
FDTD | Fix | Restore map conformal media types
adrianarce-elemwave Aug 11, 2026
74739eb
FDTD | Fix | Initialise movie probe tags
adrianarce-elemwave Aug 12, 2026
851123c
CI | Update GCC to version 15
adrianarce-elemwave Aug 12, 2026
297ea24
FDTD | CI | Simplify redundant steps on yml files
adrianarce-elemwave Aug 12, 2026
a67b2eb
FDTD | Test | Track Ubuntu output fixes
adrianarce-elemwave Aug 12, 2026
bb92a9d
FDTD | Test | Cover wire and MTLN probe discovery
adrianarce-elemwave Aug 13, 2026
ed9038e
FDTD | Test | Added get temp folder path for tests
adrianarce-elemwave Aug 13, 2026
0332dcc
FDTD | Test | Separate movie probe lifecycle checks
adrianarce-elemwave Aug 13, 2026
cbb6a5e
FDTD | Fix | Report movie geometry output failures
adrianarce-elemwave Aug 13, 2026
cee6b56
FDTD | Test | Write output tests to temp folder
adrianarce-elemwave Aug 13, 2026
7f5b148
wip
adrianarce-elemwave Aug 13, 2026
2666628
FDTD | Test | Parameterise probe metadata coverage
adrianarce-elemwave Aug 14, 2026
141a7c2
FDTD | Refactor | Resolve probe artifacts from folders
adrianarce-elemwave Aug 14, 2026
5f943ff
FDTD | Fix | Adapt probe discovery to folders
adrianarce-elemwave Aug 14, 2026
3721763
wip
adrianarce-elemwave Aug 14, 2026
f3087f3
FDTD | Build | Add solver configuration summary
adrianarce-elemwave Aug 17, 2026
8623bd8
FDTD | Build | Package precompiled libraries in Docker image
adrianarce-elemwave Aug 17, 2026
43d7b57
wip remove pararlell pytest execution ubuntu
adrianarce-elemwave Aug 17, 2026
d142340
FDTD | Fix | Restore wire output contracts
adrianarce-elemwave Aug 17, 2026
f303025
wip
adrianarce-elemwave Aug 18, 2026
452bfeb
FDTD | Refactor, Tests | relocate utils file. split e2e cases by mtln…
adrianarce-elemwave Aug 18, 2026
c0211fa
FDTD | Tests | Include continuity test check
adrianarce-elemwave Aug 20, 2026
ab3f9c0
FDTD | Fix, Tests | Support MPI output partitions and MTLN generators
adrianarce-elemwave Aug 20, 2026
78e74cb
FDTD | Fix, Build | Restore Intel CI compilation
adrianarce-elemwave Aug 20, 2026
3637eee
FDTD | CI | Restore Windows workflow loading
adrianarce-elemwave Aug 20, 2026
1920f56
FDTD | Refactor, Tests | Clarify output buffer size
adrianarce-elemwave Aug 20, 2026
968c38b
FDTD | Fix | Restore far-field MPI communicator
adrianarce-elemwave Aug 20, 2026
b229558
FDTD | Build | Add Intel development container
adrianarce-elemwave Aug 20, 2026
c603d16
FDTD | Fix | Guard far-field MPI subcommunicator
adrianarce-elemwave Aug 20, 2026
9136937
FDTD | CI | Initialize Windows Intel toolchain
adrianarce-elemwave Aug 20, 2026
0517964
FDTD | Fix, Tests | Support Windows output paths
adrianarce-elemwave Aug 20, 2026
1fe6f29
FDTD | Chore | Remove unwanted docs
adrianarce-elemwave Aug 20, 2026
05f7737
FDTD | Fix, Tests | Decode JSON manifest paths
adrianarce-elemwave Aug 21, 2026
b04ef1e
FDTD | Build | add heap-arrays flag to windows compilation
adrianarce-elemwave Aug 24, 2026
164f808
FDTD | Fix, Tests | Harden Windows HDF output
adrianarce-elemwave Aug 24, 2026
ca9e546
FDTD | Fix, Tests | Resolve excitation paths from solver folder
adrianarce-elemwave Aug 24, 2026
a8f0473
FDTD | CI | Upload failed test diagnostics
adrianarce-elemwave Aug 24, 2026
ec19a46
FDTD | Chore | Add resource monitoring utility
adrianarce-elemwave Aug 24, 2026
5dcf199
wip
adrianarce-elemwave Aug 24, 2026
22c8d8b
FDTD | Cleanup | Remove retired output dispatch
adrianarce-elemwave Aug 25, 2026
15d202c
FDTD | Build | Require HDF5 output support
adrianarce-elemwave Aug 25, 2026
f5731a6
FDTD | Output | Wire distributed publication lifecycle
adrianarce-elemwave Aug 25, 2026
a2a2641
FDTD | Output | Publish final lifecycle manifest
adrianarce-elemwave Aug 25, 2026
d46c8fc
FDTD | Tests | Remove no-op debug hook contract
adrianarce-elemwave Aug 25, 2026
564dd5c
FDTD | Output | Encapsulate visualisation writer state
adrianarce-elemwave Aug 25, 2026
486f4b5
FDTD | Output | Publish MTLN metadata through coordinator
adrianarce-elemwave Aug 25, 2026
cb02df7
FDTD | Output | Remove duplicate map geometry writer
adrianarce-elemwave Aug 25, 2026
71d0d7c
FDTD | Cleanup | Retire legacy output utility paths
adrianarce-elemwave Aug 25, 2026
b36d678
FDTD | Output | Consolidate metadata construction
adrianarce-elemwave Aug 25, 2026
4e19593
FDTD | CI | Remove duplicate test executions
adrianarce-elemwave Aug 25, 2026
e6596d1
FDTD | Tests | Consolidate solver build discovery
adrianarce-elemwave Aug 25, 2026
605d8ce
FDTD | Tests | Remove manual MPI continuity fixture
adrianarce-elemwave Aug 25, 2026
2b988c5
FDTD | Docs | Consolidate output specification
adrianarce-elemwave Aug 25, 2026
77b515d
FDTD | Cleanup | Split unrelated developer tooling
adrianarce-elemwave Aug 25, 2026
baaba3f
FDTD | Build | Remove unsupported target toggles
adrianarce-elemwave Aug 25, 2026
62043d8
FDTD | Cleanup | Remove branch diff noise
adrianarce-elemwave Aug 25, 2026
6955bde
FDTD | Fix | Handle empty binary output batches
adrianarce-elemwave Aug 26, 2026
b65fa16
FDTD | Fix | Support Intel MPI collective bindings
adrianarce-elemwave Aug 26, 2026
334275e
Merge remote-tracking branch 'origin/dev' into feat/output-module-pro…
adrianarce-elemwave Aug 26, 2026
c3a1113
FDTD | Minor | Review test libraries
adrianarce-elemwave Aug 26, 2026
8d891e3
FDTD | Output | Publish scalar probes as flat data files
adrianarce-elemwave Aug 28, 2026
e65c39d
FDTD | Wrapper | Discover flat scalar probe files
adrianarce-elemwave Aug 28, 2026
cc998ac
FDTD | Tools | Plot flat scalar probe files
adrianarce-elemwave Aug 28, 2026
9d8bf8f
format documents
adrianarce-elemwave Aug 28, 2026
0a03e96
FDTD | Refactor | Remove metadata and manifest output files
adrianarce-elemwave Aug 31, 2026
17c9222
FDTD | Output | Publish parallel MapVTK descriptor
adrianarce-elemwave Aug 31, 2026
d172d4d
FDTD | Output | Support collective static hyperslabs
adrianarce-elemwave Sep 1, 2026
c660f8c
FDTD | Output | Publish static probe classification
adrianarce-elemwave Sep 1, 2026
5f24d06
FDTD | Output | Use physical movie geometry coordinates
adrianarce-elemwave Sep 1, 2026
a2b7687
FDTD | Test | Verify movie geometry coordinates
adrianarce-elemwave Sep 1, 2026
e342840
Merge remote-tracking branch 'origin/dev' into feat/output-module-pro…
adrianarce-elemwave Sep 1, 2026
3818cc8
FDTD | Test | Preserve .fdtd probe names
adrianarce-elemwave Sep 1, 2026
1456bee
FDTD | Minor | Include test execution time on action log
adrianarce-elemwave Sep 2, 2026
51dae1b
FDTD | Test | Support flat MTLN MPI probe paths
adrianarce-elemwave Sep 3, 2026
2b20af6
FDTD | Output | Honour time-domain probe ranges
adrianarce-elemwave Sep 4, 2026
e1bb596
FDTD | Output | Preserve requested frequency range endpoints
adrianarce-elemwave Sep 4, 2026
5a3b910
FDTD | Output | Silence empty probe buffer messages
adrianarce-elemwave Sep 4, 2026
20d83af
FDTD | Output | Publish frequency slice geometry companions
adrianarce-elemwave Sep 4, 2026
b87a86a
FDTD | Test | #420 | Adapt output range assertions
adrianarce-elemwave Sep 7, 2026
6d68de0
FDTD | Minor | Restore ngspice submodule HEAD to main
adrianarce-elemwave Sep 8, 2026
034612e
Removes extra spaces, corrects alignment. In output.F90, remove comme…
Alberto-o Sep 8, 2026
5b6cca8
Remove commented, not implemented function adjust_computation_range
Alberto-o Sep 8, 2026
619cc20
Adds assert checking successful finish for tests with no assertion
Alberto-o Sep 8, 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
1 change: 0 additions & 1 deletion .devcontainer/Dockerfile

This file was deleted.

14 changes: 14 additions & 0 deletions .devcontainer/devcontainer-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "1.8.0",
"resolved": "ghcr.io/devcontainers/features/python@sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511",
"integrity": "sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511"
},
"ghcr.io/msclock/features/vcpkg:2": {
"version": "2.0.0",
"resolved": "ghcr.io/msclock/features/vcpkg@sha256:bcb75d475252af1f9ef742860387cb15e059f57041748abdd02030cd1a181471",
"integrity": "sha256:bcb75d475252af1f9ef742860387cb15e059f57041748abdd02030cd1a181471"
}
}
}
91 changes: 47 additions & 44 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,46 +1,49 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/cpp
{
"name": "OpenSEMBA dev. framework",
"build": {
"dockerfile": "Dockerfile"
},
"features": {
"ghcr.io/msclock/features/vcpkg:2": {},
"ghcr.io/devcontainers/features/python:1": {}
},

// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",

// Configure tool-specific properties.
"customizations": {
"codespaces": {
"repositories": {
"lmdiazangulo/json-fortran": { "permissions": "read-all" },
"opensemba/fhash": { "permissions": "read-all" },
"reference-lapack/lapack": { "permissions": "read-all" },
"opensemba/ngtest": {"permissions": "read-all" },
"google/googletest": { "permissions": "read-all" }
}
},
"vscode": {
"extensions": [
"ms-toolsai.jupyter",
"fortran-lang.linter-gfortran",
"ms-vscode.cmake-tools",
"ms-python.autopep8",
"matepek.vscode-catch2-test-adapter"
]
}
}

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
"name": "semba-fdtd dev",
"dockerComposeFile": [
"../docker-compose.yml"
],
"service": "dev",
"workspaceFolder": "/home/developer/workspaces/fdtd",
"remoteUser": "developer",
"containerUser": "developer",
"overrideCommand": false,
"features": {
"ghcr.io/msclock/features/vcpkg:2": {},
"ghcr.io/devcontainers/features/python:1": {}
},
"remoteEnv": {
"HOME": "/home/developer",
"XDG_CONFIG_HOME": "/home/developer/.config",
"XDG_DATA_HOME": "/home/developer/.local/share",
"OPENAI_API_KEY": "${localEnv:OPENAI_API_KEY}"
},
"postCreateCommand": ".devcontainer/setup-python.sh",
"postStartCommand": "bash scripts/devcontainer-post-start.sh",
"customizations": {
"codespaces": {
"repositories": {
"lmdiazangulo/json-fortran": { "permissions": "read-all" },
"opensemba/fhash": { "permissions": "read-all" },
"reference-lapack/lapack": { "permissions": "read-all" },
"opensemba/ngtest": { "permissions": "read-all" },
"google/googletest": { "permissions": "read-all" }
}
},
"vscode": {
"extensions": [
"fortran-lang.linter-gfortran",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-python.python",
"mhutchie.git-graph"
],
"settings": {
"cmake.buildDirectory": "${workspaceFolder}/build",
"cmake.useCMakePresets": "always",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"terminal.integrated.defaultProfile.linux": "bash"
}
}
}
}
14 changes: 14 additions & 0 deletions .devcontainer/intel/devcontainer-lock.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "1.8.0",
"resolved": "ghcr.io/devcontainers/features/python@sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511",
"integrity": "sha256:fbcad6955caeecc5ad3f7886baf652e25cba5225a6c4c2287c536de2e5607511"
},
"ghcr.io/msclock/features/vcpkg:2": {
"version": "2.0.0",
"resolved": "ghcr.io/msclock/features/vcpkg@sha256:bcb75d475252af1f9ef742860387cb15e059f57041748abdd02030cd1a181471",
"integrity": "sha256:bcb75d475252af1f9ef742860387cb15e059f57041748abdd02030cd1a181471"
}
}
}
57 changes: 57 additions & 0 deletions .devcontainer/intel/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"name": "semba-fdtd Intel dev",
"dockerComposeFile": [
"../../docker-compose.yml"
],
"service": "intel-dev",
"workspaceFolder": "/home/developer/workspaces/fdtd",
"remoteUser": "developer",
"containerUser": "developer",
"overrideCommand": false,
"features": {
"ghcr.io/msclock/features/vcpkg:2": {},
"ghcr.io/devcontainers/features/python:1": {}
},
"remoteEnv": {
"HOME": "/home/developer",
"XDG_CONFIG_HOME": "/home/developer/.config",
"XDG_DATA_HOME": "/home/developer/.local/share",
"OPENAI_API_KEY": "${localEnv:OPENAI_API_KEY}"
},
"postCreateCommand": ".devcontainer/setup-python.sh",
"postStartCommand": "bash scripts/devcontainer-post-start.sh",
"customizations": {
"codespaces": {
"repositories": {
"lmdiazangulo/json-fortran": { "permissions": "read-all" },
"opensemba/fhash": { "permissions": "read-all" },
"reference-lapack/lapack": { "permissions": "read-all" },
"opensemba/ngtest": { "permissions": "read-all" },
"google/googletest": { "permissions": "read-all" }
}
},
"vscode": {
"extensions": [
"fortran-lang.linter-gfortran",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-python.python",
"mhutchie.git-graph",
"matepek.vscode-catch2-test-adapter"
],
"settings": {
"cmake.buildDirectory": "${workspaceFolder}/build-intel-dbg",
"cmake.configurePreset": "intel-dbg",
"cmake.buildPreset": "intel-dbg",
"cmake.useCMakePresets": "always",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"terminal.integrated.defaultProfile.linux": "bash",
"fortran.fortls.path": "/usr/local/bin/fortls",
"fortran.fortls.notifyInit": true,
"fortran.fortls.disableAutoupdate": true,
"fortran.provide.hover": "Both",
"fortran.formatting.formatter": "fprettify"
}
}
}
}
12 changes: 0 additions & 12 deletions .devcontainer/notes.md

This file was deleted.

6 changes: 6 additions & 0 deletions .devcontainer/setup-python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -euo pipefail

python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -r requirements.txt
20 changes: 19 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
.git
build/
build-*/
.venv/
.devcontainer/
.vscode/
.github/
__pycache__/
*.pyc
*.pyo
Expand All @@ -9,4 +13,18 @@ __pycache__/
dist/
*.o
*.mod
# Keep precompiled_libraries and external/ submodule contents

# Runtime/development bind mounts do not need to be copied into image layers.
simulations/

# The top-level build only consumes selected external sources.
external/lapack/
external/ngspice/examples/
external/ngspice/tests/
external/ngspice/visualc/
external/ngspice/man/
external/ngspice/doc/
external/ngspice/.git/
external/googletest/.git/
external/json-fortran/.git/
external/fhash/.git/
55 changes: 21 additions & 34 deletions .github/workflows/automatic-release-ubuntu-gnu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,69 +3,56 @@ name: automatic-release-ubuntu-gnu
on:
push:
branches:
- main
- main

jobs:

builds-and-test:
build-release:
runs-on: ubuntu-latest
strategy:
matrix:
matrix:
build-type: ["Release"]
mpi: ["OFF"]
mtln: ["ON"]
hdf: ["ON"]

steps:
include:
- mpi: "OFF"
suffix: ""
title-suffix: ""
- mpi: "ON"
suffix: "-mpi"
title-suffix: " MPI"

steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install required packages
run: |
sudo apt update
sudo apt install libhdf5-dev libopenmpi-dev

- name: CMake build
run: |
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=${{matrix.build-type}} \
-DSEMBA_FDTD_ENABLE_MPI=${{matrix.mpi}} \
-DSEMBA_FDTD_ENABLE_HDF=${{matrix.hdf}} \
-DSEMBA_FDTD_ENABLE_MTLN=${{matrix.mtln}}
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \
-DSEMBA_FDTD_ENABLE_MPI=${{ matrix.mpi }} \
-DSEMBA_FDTD_ENABLE_MTLN=${{ matrix.mtln }}
cmake --build build -j

- name: Run fdtd unit tests
run: |
build/bin/fdtd_tests

- name: Install python wrapper requirements
run: |
python -m pip install -r requirements.txt

- name: Run wrapper tests
env:
SEMBA_FDTD_ENABLE_MPI: ${{ matrix.mpi }}
SEMBA_FDTD_ENABLE_MTLN: ${{ matrix.mtln }}
SEMBA_FDTD_ENABLE_HDF: ${{ matrix.hdf }}
run: |
python -m pytest test

- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"

- name: Creating archive
run: |
tar -czvf semba-fdtd-ubuntu-gnu.tar.gz build/bin/* LICENSE
tar -czvf semba-fdtd-ubuntu-gnu${{ matrix.suffix }}.tar.gz build/bin/* LICENSE

- name: Generating release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "${{ steps.date.outputs.date }}-ubuntu-gnu"
automatic_release_tag: "${{ steps.date.outputs.date }}-ubuntu-gnu${{ matrix.suffix }}"
prerelease: false
title: "${{ steps.date.outputs.date }} Ubuntu GNU dev. build"
title: "${{ steps.date.outputs.date }} Ubuntu GNU${{ matrix.title-suffix }} dev. build"
files: |
semba-fdtd-ubuntu-gnu.tar.gz
semba-fdtd-ubuntu-gnu${{ matrix.suffix }}.tar.gz
Loading
Loading