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
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Generate dist packages
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
./ci-scripts/pypi-genreadme.py README.md
./ci-scripts/pypi_genreadme.py README.md
uv build
- name: Publish ReFrame to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ Here is a list of the available extras during installation:
> pip uninstall -y polars
> ```

> [!WARNING]
> `uv` versions older than 0.11.33 have a [bug](https://github.com/astral-sh/uv/pull/20671) that mishandles marker-based default dependencies like `polars`, so a plain `uv tool install reframe-hpc` or `uv pip install reframe-hpc` (no extras at all) would silently skip `polars`, disabling the results storage feature without warning.
> Make sure you are on `uv` 0.11.33 or later (`uv self update`).

## Running from source

If you want to run the latest ReFrame directly from the repo, you can simply clone the repo and `uv run` ReFrame:
Expand Down
20 changes: 9 additions & 11 deletions ci-scripts/deploy.sh → ci-scripts/make_release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ usage()
{
echo "Usage: $0 VERSION"
echo " Environment:"
echo " - GH_DEPLOY_CREDENTIALS=<user>:<token>"
echo " - GITHUB_CREDENTIALS=<user>:<token>"
}

_onerror()
{
exitcode=$?
echo "$0: ReFrame deployment failed!"
echo "$0: ReFrame release failed!"
echo "$0: command \`$BASH_COMMAND' failed (exit code: $exitcode)"
cd $oldpwd
exit $exitcode
Expand All @@ -27,33 +27,31 @@ if [ -z $version ]; then
exit 1
fi

py_minor_version=$(python3 -c 'import sys; print(sys.version_info.minor)')
if [ $py_minor_version -lt 5 ]; then
echo "$0: deployment script requires Python>=3.5" >&2
if [ ! uv --version >/dev/null 2>&1 ]; then
echo "$0: uv is not installed" >&2
exit 1
fi

if [ -z "$GH_DEPLOY_CREDENTIALS" ]; then
if [ -z "$GITHUB_CREDENTIALS" ]; then
_gh_creds_prefix=""
else
_gh_creds_prefix="${GH_DEPLOY_CREDENTIALS}@"
_gh_creds_prefix="${GITHUB_CREDENTIALS}@"
fi


tmpdir=$(mktemp -d)
echo "Deploying ReFrame version $version ..."
echo "Releasing ReFrame version $version ..."
echo "Working directory: $tmpdir ..."
cd $tmpdir
git clone --branch master https://${_gh_creds_prefix}github.com/reframe-hpc/reframe.git
cd reframe
./bootstrap.sh
found_version=$(./bin/reframe -V | sed -e 's/\(.*\)\+.*/\1/g')
found_version=$(uv run reframe -V | sed -e 's/\(.*\)\+.*/\1/g')
if [ $found_version != $version ]; then
echo "$0: version mismatch: found $found_version, but required $version" >&2
exit 1
fi

./test_reframe.py
uv run ./test_reframe.py
git tag -a v$version -m "ReFrame $version"
git push origin --tags

Expand Down
File renamed without changes.
Loading