diff --git a/.github/workflows/simple-ci.yml b/.github/workflows/ci.yml similarity index 78% rename from .github/workflows/simple-ci.yml rename to .github/workflows/ci.yml index e8e254f..a18e2ee 100644 --- a/.github/workflows/simple-ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ jobs: #---------------------------------------------- # load pip cache if cache exists #---------------------------------------------- - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip @@ -39,18 +39,21 @@ jobs: strategy: fail-fast: true matrix: - os: [ "ubuntu-latest", "macos-latest" ] + os: ["ubuntu-latest", "macos-latest", "windows-latest"] python-version: [ "3.11"] runs-on: ${{ matrix.os }} + defaults: + run: + shell: bash steps: #---------------------------------------------- # check-out repo and set-up python #---------------------------------------------- - name: Check out repository - uses: actions/checkout@v3 + uses: actions/checkout@v5 - name: Set up python ${{ matrix.python-version }} id: setup-python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} #---------------------------------------------- @@ -64,9 +67,9 @@ jobs: #---------------------------------------------- # load cached venv if cache exists #---------------------------------------------- - - name: Load cached venv + - name: Load cached Venv id: cached-poetry-dependencies - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: .venv key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} @@ -75,16 +78,29 @@ jobs: #---------------------------------------------- - name: Install dependencies if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' - run: poetry install --no-interaction --no-root + run: poetry install --no-interaction #---------------------------------------------- # install your root project, if required #---------------------------------------------- - name: Install library - run: poetry install --no-interaction --no-root + run: poetry install --no-interaction #---------------------------------------------- # run test suite #---------------------------------------------- - - name: Run tests + - name: Run tests (Linux, full) + if: matrix.os == 'ubuntu-latest' run: | source .venv/bin/activate - pytest tests/ \ No newline at end of file + pytest tests/ + + - name: Run tests (macOS) + if: matrix.os == 'macos-latest' + run: | + source .venv/bin/activate + pytest tests/ + + - name: Run tests (Windows) + if: matrix.os == 'windows-latest' + run: | + source .venv/Scripts/activate + pytest tests/