diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml new file mode 100644 index 0000000..c99f097 --- /dev/null +++ b/.github/workflows/actions.yml @@ -0,0 +1,58 @@ +name: CI + +permissions: + pull-requests: write + issues: write + repository-projects: write + contents: write + +on: + pull_request: + push: + branches: [master] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: "3.10" + cache: pip + - name: Install dependencies + run: | + python -m pip install --upgrade pip setuptools wheel build pytest + python -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu + python -m pip install -r requirements.txt + - name: Build package + run: python -m build + - name: Publish package + if: startsWith(github.ref, 'refs/tags/v') + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_TOKEN }} + + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: "3.10" + cache: pip + - name: Install dependencies + run: | + python -m pip install --upgrade pip setuptools wheel build pytest + python -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu + python -m pip install -r requirements.txt + - name: Run tests + run: pytest --junitxml=.test-report.xml + - uses: actions/upload-artifact@v3 + if: success() || failure() + with: + name: test-report + path: .test-report.xml diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml deleted file mode 100644 index 2f6383c..0000000 --- a/.github/workflows/python-publish.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Upload Python Package - -on: - push: - tags: - - "v*" - -permissions: - contents: read - -jobs: - deploy: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - name: Install dependencies - run: | - python -m pip install --upgrade pip setuptools wheel build pytest - python -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu - python -m pip install -r requirements.txt -# TODO -# - name: Run tests -# run: | -# pytest - - name: Build package - run: RAVE_VERSION=${{ github.ref_name }} python -m build - - name: Publish package - uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 - with: - user: __token__ - password: ${{ secrets.PYPI_TOKEN }} diff --git a/.github/workflows/test-report.yml b/.github/workflows/test-report.yml new file mode 100644 index 0000000..9208b68 --- /dev/null +++ b/.github/workflows/test-report.yml @@ -0,0 +1,21 @@ +name: "Test Report" +on: + workflow_run: + workflows: ["CI"] + types: + - completed + +permissions: + contents: read + actions: read + checks: write +jobs: + report: + runs-on: ubuntu-latest + steps: + - uses: dorny/test-reporter@v1 + with: + artifact: test-report + name: Test report + path: "*.xml" + reporter: jest-junit diff --git a/.gitignore b/.gitignore index 3e016e6..06b9a52 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ runs *.yaml *.onnx __version__* -PKG-INFO \ No newline at end of file +PKG-INFO +.junit-test-report.xml diff --git a/rave/__init__.py b/rave/__init__.py index 7779bc8..efec997 100644 --- a/rave/__init__.py +++ b/rave/__init__.py @@ -4,12 +4,14 @@ import gin import torch + BASE_PATH: Path = Path(__file__).parent gin.add_config_file_search_path(BASE_PATH) gin.add_config_file_search_path(BASE_PATH.joinpath('configs')) gin.add_config_file_search_path(BASE_PATH.joinpath('configs', 'augmentations')) + def __safe_configurable(name): try: setattr(cc, name, gin.get_configurable(f"cc.{name}")) diff --git a/rave/version.py b/rave/version.py new file mode 100644 index 0000000..55e4709 --- /dev/null +++ b/rave/version.py @@ -0,0 +1 @@ +__version__ = "2.3.0" diff --git a/setup.py b/setup.py index 0a67b5e..32c6336 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,8 @@ import setuptools -version = os.environ["RAVE_VERSION"] +# imports __version__ +exec(open('rave/version.py').read()) with open("README.md", "r") as readme: readme = readme.read() @@ -13,7 +14,7 @@ setuptools.setup( name="acids-rave", - version=version, + version=__version__, # type: ignore author="Antoine CAILLON", author_email="caillon@ircam.fr", description="RAVE: a Realtime Audio Variatione autoEncoder",