Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
43e3f04
port CVL to use new Mason prereqs
jabraham17 Dec 13, 2025
c542a30
drop old versions
jabraham17 Dec 13, 2025
77674ef
revert workaround
jabraham17 Dec 15, 2025
f7b0764
rewrite docs
jabraham17 Jan 21, 2026
587aa61
fix index
jabraham17 Jan 21, 2026
cfb7dd5
port grayscale benchmark to use mason package
jabraham17 Feb 16, 2026
fa3d72c
port trig benchmark
jabraham17 Feb 16, 2026
9e49656
cleanup toml
jabraham17 Feb 16, 2026
2af508b
fix shifthalts
jabraham17 Feb 16, 2026
1d44e53
add local registry script
jabraham17 Feb 16, 2026
ae12efd
fix ci
jabraham17 Feb 16, 2026
5a8b353
remove all cmake integrations
jabraham17 Apr 22, 2026
c699f1c
add registry to gitignore
jabraham17 Apr 22, 2026
653b4c4
add files to toml
jabraham17 Apr 22, 2026
1d5cfe7
adjust compile.py
jabraham17 Apr 22, 2026
328c71c
upgrade CI and readme
jabraham17 Apr 22, 2026
d7c9b93
fix lint
jabraham17 Apr 22, 2026
8a2b965
simplify bench
jabraham17 Apr 22, 2026
3479615
refactor CI
jabraham17 Apr 22, 2026
0f35d8f
allow 2.8
jabraham17 Apr 22, 2026
16dfcd0
use sh compatible code
jabraham17 Apr 22, 2026
291f8ae
delete compile
jabraham17 Apr 22, 2026
0a60e03
fix lints
jabraham17 Apr 22, 2026
73591cf
update gitignore
jabraham17 Apr 22, 2026
6bbc884
add gasnet env vars
jabraham17 Apr 22, 2026
0ed4a14
fix example CI
jabraham17 Apr 22, 2026
93b4875
fix lint
jabraham17 Apr 22, 2026
79fba33
fix lint
jabraham17 Apr 22, 2026
5d91c77
resolve warning
jabraham17 Apr 22, 2026
15db57e
fix compare
jabraham17 Apr 22, 2026
1637ca2
fix homebrew
jabraham17 Apr 22, 2026
0a670a2
fix shift halts
jabraham17 Apr 22, 2026
391bb4b
use setup-chpl
jabraham17 Apr 22, 2026
7b5d44b
use v1
jabraham17 Apr 22, 2026
834d0c8
do git init for registry
jabraham17 Apr 22, 2026
a7e87f5
revamp local registry script
jabraham17 Apr 22, 2026
a93df64
cleanup
jabraham17 Apr 22, 2026
a02e955
refactor benchmarks to use mason
jabraham17 Apr 22, 2026
6ad5247
fix bug
jabraham17 Apr 22, 2026
2f19bde
avoid mason publish --create
jabraham17 Apr 23, 2026
f03ed59
use -M
jabraham17 Apr 23, 2026
9cdbdaf
remove -m
jabraham17 Apr 23, 2026
7ecf268
fix project dir
jabraham17 Apr 23, 2026
9db3620
dump the registry for testing
jabraham17 Apr 23, 2026
2c8c798
commit toml
jabraham17 Apr 23, 2026
df2bbe0
remove debug
jabraham17 Apr 23, 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
10 changes: 10 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,13 @@ jobs:
with:
chapel_version: latest
run_optional_tests: true
test-chpl-280:
uses: ./.github/workflows/chpl-tests.yml
with:
chapel_version: 2.8.0
run_optional_tests: false
test-chpl-nightly:
uses: ./.github/workflows/chpl-tests.yml
with:
chapel_version: nightly
run_optional_tests: false
29 changes: 12 additions & 17 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ jobs:

# this just runs the benchmarks to make sure they compile and run
test-benchmarks:
# TODO: setup-chpl doesn't work with nightly yet
if: ${{ inputs.chapel_version != 'nightly' }}
strategy:
fail-fast: true
matrix:
Expand All @@ -22,35 +20,32 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Chapel
uses: jabraham17/setup-chpl@v1
with:
version: ${{ inputs.chapel_version }}
backend: ${{ matrix.backend }}
- name: Install Python Dependencies
run: |
python3 -m venv .venv
./.venv/bin/python3 -m pip install --upgrade pip
./.venv/bin/python3 -m pip install pydantic
- name: Setup chapel
uses: jabraham17/setup-chpl@v1
with:
version: ${{ inputs.chapel_version }}
backend: ${{ matrix.backend }}
- name: Setup fortran
# fortran-lang/setup-fortran has some bugs when running in a container
# and bad usage of sudo, so use jabraham17/setup-fortran@fix-cd until
# those are fixed
uses: jabraham17/setup-fortran@fix-cd
uses: fortran-lang/setup-fortran@v1
with:
compiler: gcc
version: latest
version: 15
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Build CVL Dependencies
run: |
./third-party/sleef/install.sh
- name: Run Benchmarks
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
source util/localRegistry.sh

./.venv/bin/python3 ./util/bench.py \
--schema benchmarks/benchmarks.json \
--trials 3 --small \
--cvl-options "$(./compile.py --sleef)"
--trials 3 --small
71 changes: 71 additions & 0 deletions .github/workflows/bump-minor-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Bump minor version

on:
workflow_dispatch:
workflow_run:
workflows: [Publish to mason registry]
types: [completed]

jobs:
bump-minor:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
steps:
- uses: actions/checkout@v4
- name: Exit if branch exists
run: |
BRANCH_NAME="update-version"
if git ls-remote --heads origin $BRANCH_NAME | grep -q $BRANCH_NAME; then
echo "Branch $BRANCH_NAME already exists."
exit 1
fi
- name: Create a new branch
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git checkout -b update-version
git push --set-upstream origin update-version
- name: Get version from Mason.toml
id: previous_version
uses: mikefarah/yq@v4
with:
cmd: yq .brick.version Mason.toml
- name: Bump Minor Version
id: bump_version
run: |
PREVIOUS_VERSION=${{ steps.previous_version.outputs.result }}
MAJOR=$(echo $PREVIOUS_VERSION | cut -d. -f1)
MINOR=$(echo $PREVIOUS_VERSION | cut -d. -f2)
NEW_MINOR=$((MINOR + 1))
NEW_VERSION="$MAJOR.$NEW_MINOR.0"
echo "New version: $NEW_VERSION"
echo "result=$NEW_VERSION" >> $GITHUB_OUTPUT
- name: Update version in Mason.toml
uses: mikefarah/yq@v4
with:
cmd: yq -i '.brick.version="${{ steps.bump_version.outputs.result }}"' Mason.toml
- name: Get name from Mason.toml
id: package_name
uses: mikefarah/yq@v4
with:
cmd: yq .brick.name Mason.toml
- name: Update version in README.md
run: |
NAME=${{ steps.package_name.outputs.result }}
NEW_VERSION=${{ steps.bump_version.outputs.result }}
sed "s/mason add $NAME@[0-9]*\.[0-9]*\.[0-9]*/mason add $NAME@$NEW_VERSION/g" README.md > README.tmp && mv README.tmp README.md
- name: Commit and push changes
run: |
git add Mason.toml
git add README.md
git commit -m "Bump version to ${{ steps.bump_version.outputs.result }}"
git push origin update-version
- name: create pull request
run: >
gh pr create
-B main
-H update-version
--title 'Bump version for next release'
--body 'Bump the version in prep for next release'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
69 changes: 30 additions & 39 deletions .github/workflows/chpl-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,42 +13,44 @@ on:
default: true

jobs:
# brew only supports nightly and latest
# brew only supports latest
# brew doesn't support linux arm
# TODO: brew will soon support ML chapel, so we can add comm!=none jobs for brew then
mason-test-brew:
if: ${{ inputs.chapel_version == 'nightly' || inputs.chapel_version == 'latest' }}
if: ${{ inputs.chapel_version == 'latest' }}
strategy:
fail-fast: false
matrix:
backend: [llvm, gnu, clang]
os: [ubuntu-latest, macos-latest]
comm: [none, gasnet]
exclude:
- os: ubuntu-latest
backend: clang
- os: macos-latest
backend: gnu
- os: ubuntu-latest
comm: gasnet
- comm: gasnet
backend: clang
runs-on: ${{ matrix.os }}
env:
CHPL_TARGET_COMPILER: ${{ matrix.backend }}
CHPL_COMM: ${{ matrix.comm }}
GASNET_SPAWNFN: L
GASNET_ROUTE_OUTPUT: 0
GASNET_QUIET: Y
GASNET_MASTERIP: 127.0.0.1
GASNET_WORKERIP: 127.0.0.0
CHPL_RT_OVERSUBSCRIBED: yes
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@main
- name: Install Chapel
run: |
if [ "${{ inputs.chapel_version }}" = "nightly" ]; then
brew install --HEAD chapel
else
brew install chapel
fi
- name: Build CVL Dependencies
run: |
./third-party/sleef/install.sh
run: brew install chapel
- name: Run Tests
run: |
./util/test.sh
run: mason test --parallel --show

mason-test-docker:
strategy:
Expand All @@ -57,7 +59,6 @@ jobs:
image:
- chapel/chapel:${{ inputs.chapel_version }}
- chapel/chapel-gasnet:${{ inputs.chapel_version }}
- chapel/chapel-gasnet-smp:${{ inputs.chapel_version }}
backend: [llvm, gnu]
os: [ubuntu-latest, ubuntu-24.04-arm]
runs-on: ${{ matrix.os }}
Expand All @@ -68,29 +69,21 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up CMake
# cmake testing doesn't work on arm yet
if: ${{ matrix.os != 'ubuntu-24.04-arm' }}
uses: jwlawson/actions-setup-cmake@v2.0.2
- name: Build CVL Dependencies
run: |
./third-party/sleef/install.sh
- name: Run Tests
# FIXME: smp testing on linux 64 breaks with multi locale code? But only
# in the CI, local testing seems fine,
if: ${{ ! (matrix.image == format('chapel/chapel-gasnet-smp:{0}', inputs.chapel_version) && matrix.os == 'ubuntu-latest') }}
run: |
./util/test.sh
- name: Run CMake Tests
# cmake testing doesn't work on arm yet
if: ${{ matrix.os != 'ubuntu-24.04-arm' }}
run: |
./util/testCMake.sh
- name: Run examples
run: mason test --parallel --show
- name: Check the examples build and run
run: |
./util/examples.sh
mason build --example
for example in $(ls example/*.chpl); do
example_name=$(basename $example)
if [ "$example_name" = "StreamConfig.chpl" ]; then
continue
fi
mason run --example $example_name
done

test-benchmarks:
if: ${{ inputs.chapel_version == 'latest' }}
uses: ./.github/workflows/bench.yml
with:
chapel_version: ${{ inputs.chapel_version }}
Expand All @@ -103,16 +96,15 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Run lints
run: |
./util/lint.sh
run: ./util/lint.sh

python-tests:
if: ${{ inputs.run_optional_tests }}
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -125,5 +117,4 @@ jobs:
python3 -m pip install --upgrade pip
python3 -m pip install tox
- name: Run Python Tests
run: |
./util/tox.sh
run: ./util/tox.sh
6 changes: 3 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ jobs:
uses: actions/configure-pages@v5
- name: Build docs
run: |
./doc/build_docs.sh
mason doc
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./build/doc/html
path: ./doc/

deploy:
if: github.event_name == 'push' && github.repository == 'jabraham17/CVL'
if: github.event_name == 'push' && !github.event.repository.fork
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
Expand Down
31 changes: 0 additions & 31 deletions .github/workflows/nightly.yml

This file was deleted.

Loading
Loading