diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 88ab3e7..f3b5e35 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -1,14 +1,18 @@ name: Funq CI run-name: ${{ github.actor }} is testing out Funq + on: [push] + jobs: build: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.12",] + python-version: ["3.12"] steps: - - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: @@ -24,23 +28,58 @@ jobs: - name: Display Python version run: python -c "import sys; print(sys.version)" + - name: Cache pip + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Install dependencies run: | python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Setup client + run: python client/setup.py develop + + - name: Setup server + run: python server/setup.py develop + + test: + runs-on: ubuntu-latest + needs: build + strategy: + matrix: + python-version: ["3.12"] + steps: + - name: Checkout code + uses: actions/checkout@v4 - - name: Setup tests + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Restore pip cache + uses: actions/cache@v3 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies run: | - python client/setup.py develop - python server/setup.py develop + python -m pip install --upgrade pip + pip install -r requirements.txt - name: Run client tests - run: | - python -m pytest funq/client/tests/ + run: python -m pytest funq/client/tests/ - name: Run server tests - run: | - make -C server/tests/ check + run: make -C server/tests/ check - name: Run functional tests - run: | - pytest tests-functionnal/ + run: pytest tests-functionnal/