Skip to content

Commit

Permalink
Pkg actions split (#133)
Browse files Browse the repository at this point in the history
* github actions split to tests and condabuild for proper configurations

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* full version added

* split jobs into two files and remove lfs caching

* revert caching and update triggers

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kevin A. Tactac <[email protected]>
  • Loading branch information
3 people authored Feb 3, 2025
1 parent 011ad10 commit dfcce13
Show file tree
Hide file tree
Showing 4 changed files with 105 additions and 119 deletions.
118 changes: 0 additions & 118 deletions .github/workflows/actions.yml

This file was deleted.

49 changes: 49 additions & 0 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Conda Packaging and Deployment

on:
workflow_dispatch:
push:
branches: [qa, main]
tags: ['v*']

jobs:

linux:
runs-on: ubuntu-22.04
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
channels: mantid/label/main,conda-forge,defaults
python-version: '3.10'
miniconda-version: latest
mamba-version: "*"
environment-file: environment.yml

- name: Build Wheel
run: |
python -m build --wheel --no-isolation
check-wheel-contents dist/quicknxs-*.whl
- name: Build Conda package
run: |
cd conda.recipe
VERSION=$(versioningit ../) conda mambabuild --output-folder . . -c mantid
conda verify noarch/quicknxs-*.tar.bz2
- name: Deploy to Anaconda
if: startsWith(github.ref, 'refs/tags/v')
env:
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
IS_RC: ${{ contains(github.ref, 'rc') }}
IS_DEV: ${{ github.ref == 'refs/heads/next' }}
run: |
# label is main or rc depending on the tag-name
CONDA_LABEL="main"
if [ "${IS_RC}" = "true" ]; then CONDA_LABEL="rc"; fi
if [ "${IS_DEV}" = "true" ]; then CONDA_LABEL="dev"; fi
echo pushing ${{ github.ref }} with label $CONDA_LABEL
anaconda upload --label $CONDA_LABEL conda.recipe/noarch/quicknxs-*.tar.bz2
55 changes: 55 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Test Suite

on:
workflow_dispatch:
pull_request:
push:
branches: [next, qa, main]
tags: ['v*']

jobs:

linux:
runs-on: ubuntu-22.04
defaults:
run:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4
- uses: conda-incubator/setup-miniconda@v3
with:
channels: mantid/label/main,conda-forge,defaults
python-version: '3.10'
miniconda-version: latest
mamba-version: "*"
environment-file: environment.yml
lfs: true
submodules: recursive

- name: Generate cache key for submodule
id: generate-cache-key
run: |
# Get the submodule commit SHA
SUBMODULE_SHA=$(git submodule status | awk '{print $1}' | sha256sum | cut -d ' ' -f 1)
echo "SUBMODULE_KEY=$SUBMODULE_SHA" >> $GITHUB_ENV
- name: Restore/save LFS files in cache
id: cache-lfs
uses: actions/cache@v4
with:
path: test/data/quicknxs-data/
key: submodule-${{ env.SUBMODULE_KEY }}
- name: Pull LFS files for the submodule
if: steps.cache-lfs.outputs.cache-hit != 'true'
run: |
git submodule update --init
git lfs pull
- name: Unit test with code coverage
run: |
# run tests requiring git lfs (may need to switch to a self-hosted runner)
xvfb-run -a python -m pytest -vv --cov=src --cov-report=xml --cov-report=term
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
verbose: true
token: ${{ secrets.CODECOV_TOKEN }} # required
2 changes: 1 addition & 1 deletion conda.recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

package:
name: "quicknxs"
version: {{ version_number }}
version: {{ version }}

source:
path: ..
Expand Down

0 comments on commit dfcce13

Please sign in to comment.