71 lines
2.3 KiB
YAML
71 lines
2.3 KiB
YAML
# Run separate test cases to verify Moto works with older versions of dependencies
|
|
#
|
|
name: "Outdated Dependency Tests"
|
|
|
|
on:
|
|
pull_request:
|
|
types: [ labeled ]
|
|
|
|
jobs:
|
|
test:
|
|
if: ${{ github.event.label.name == 'moto-core' }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: [ "3.11" ]
|
|
responses-version: ["0.13.0", "0.15.0", "0.17.0", "0.19.0", "0.20.0" ]
|
|
werkzeug-version: ["2.0.1", "2.1.1", "2.2.2"]
|
|
openapi-spec-validator-version: ["0.5.0"]
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Update pip
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
|
|
- name: Install project dependencies
|
|
run: |
|
|
pip install -r requirements-dev.txt
|
|
pip install responses==${{ matrix.responses-version }}
|
|
pip install flask==${{ matrix.werkzeug-version }}
|
|
pip install werkzeug==${{ matrix.werkzeug-version }}
|
|
pip install openapi-spec-validator==${{ matrix.openapi-spec-validator-version }}
|
|
|
|
- name: Run tests
|
|
run: |
|
|
pytest -sv tests/test_core ./tests/test_apigateway/test_apigateway_integration.py tests/test_iotdata ./tests/test_s3/test_server.py
|
|
|
|
- name: Start MotoServer
|
|
run: |
|
|
python -m build
|
|
docker run --rm -t --name motoserver -e TEST_SERVER_MODE=true -e AWS_SECRET_ACCESS_KEY=server_secret -e AWS_ACCESS_KEY_ID=server_key -v `pwd`:/moto -p 5000:5000 -v /var/run/docker.sock:/var/run/docker.sock python:3.7-buster /moto/scripts/ci_moto_server.sh &
|
|
python scripts/ci_wait_for_server.py
|
|
- name: Test ServerMode/Coverage
|
|
env:
|
|
TEST_SERVER_MODE: ${{ true }}
|
|
run: |
|
|
pytest -sv tests/test_core tests/test_awslambda tests/test_cloudformation tests/test_iotdata
|
|
- name: "Stop MotoServer"
|
|
if: always()
|
|
run: |
|
|
mkdir serverlogs
|
|
pwd
|
|
ls -la
|
|
cp server_output.log serverlogs/server_output.log
|
|
docker stop motoserver
|
|
- name: Archive TF logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: motoserver
|
|
path: |
|
|
serverlogs/*
|