diff --git a/.github/workflows/fast-python-baseline.st b/.github/workflows/fast-python-baseline.st new file mode 100644 index 0000000..1fcdd40 --- /dev/null +++ b/.github/workflows/fast-python-baseline.st @@ -0,0 +1,7 @@ +"FAST-Python declares its FAST dependency with the repository github://moosetechnology/FAST:v3/src. Since the spec above already loaded baseline 'FAST' from this checkout, Metacello reuses that local registration: the Python tests run against the branch under test and not against the released FAST." + +Metacello new + baseline: 'FASTPython'; + repository: 'github://moosetechnology/FAST-Python:main/src'; + onConflictUseLoaded; + load: #( 'default' 'Tests' ) \ No newline at end of file diff --git a/.github/workflows/fast-python-config.ston b/.github/workflows/fast-python-config.ston new file mode 100644 index 0000000..63190e4 --- /dev/null +++ b/.github/workflows/fast-python-config.ston @@ -0,0 +1,13 @@ +SmalltalkCISpec { + #loading : [ + SCIMetacelloLoadSpec { + #baseline : 'FAST', + #directory : '../../src', + #load : [ 'core', 'tools' ] + } + ], + #postLoading : 'fast-python-baseline.st', + #testing : { + #categories : [ 'FAST-Python-Tools-Tests' ] + } +} \ No newline at end of file diff --git a/.github/workflows/fast-python.yml b/.github/workflows/fast-python.yml new file mode 100644 index 0000000..252e327 --- /dev/null +++ b/.github/workflows/fast-python.yml @@ -0,0 +1,33 @@ +# FAST-Python is a heavy consumer of FAST: its test suite exercises a large part +# of the FAST utilities -- the CFG builder (FASTTCFGUtility), the local resolver, +# the SSA transform (FASTCFGTVisitor) and the visitors -- through a real language +# front-end. Running its tests here catches FAST regressions that FAST's own unit +# tests do not cover. +# +# This mirrors what moosetechnology/Famix does for its FamixCpp and Fortran +# baselines: load the project under test from the checkout, then load the +# dependent baseline from GitHub and run only its tests. +name: CI FAST-Python + +on: [push, pull_request, workflow_dispatch] + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + smalltalk: [ Moose64-13 ] + name: FAST-Python - ${{ matrix.smalltalk }} + steps: + - uses: actions/checkout@v6 + - uses: hpi-swa/setup-smalltalkCI@v1 + id: smalltalkci + with: + smalltalk-image: ${{ matrix.smalltalk }} + - run: smalltalkci -s ${{ steps.smalltalkci.outputs.smalltalk-image }} .github/workflows/fast-python-config.ston + shell: bash + timeout-minutes: 45 \ No newline at end of file diff --git a/README.md b/README.md index 232f91c..b3cb7b7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # FAST -[![Moose 11 and 12 CI](https://github.com/moosetechnology/FAST/actions/workflows/tests.yml/badge.svg)](https://github.com/moosetechnology/FAST/actions/workflows/testAndBuild-moose10.yml) +[![FAST CI](https://github.com/moosetechnology/FAST/actions/workflows/tests.yml/badge.svg)](https://github.com/moosetechnology/FAST/actions/workflows/tests.yml) [![FAST-Python CI](https://github.com/moosetechnology/FAST/actions/workflows/fast-python.yml/badge.svg)](https://github.com/moosetechnology/FAST/actions/workflows/fast-python.yml) Supported Moose Versions: [![Moose version](https://img.shields.io/badge/Moose-11-%23aac9ff.svg)](https://github.com/moosetechnology/Moose) [![Moose version](https://img.shields.io/badge/Moose-12-%23aac9ff.svg)](https://github.com/moosetechnology/Moose)