--- name: CTFd CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest services: postgres: image: postgres ports: - 5432:5432 env: POSTGRES_HOST_AUTH_METHOD: trust POSTGRES_DB: ctfd # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 mysql: image: mysql ports: - 3306:3306 redis: image: redis ports: - 6379:6379 strategy: matrix: python-version: ['2.7', '3.6'] TESTING_DATABASE_URL: ['mysql+pymysql://root@localhost/ctfd', 'sqlite://', 'postgres://postgres@localhost/ctfd'] name: Python ${{ matrix.python-version }} steps: - uses: actions/checkout@v2 - name: Setup python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} architecture: x64 - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install -r development.txt sudo yarn install --non-interactive sudo yarn global add prettier@1.17.0 sudo python3.6 -m pip install black==19.3b0 - name: Lint run: make lint - name: Test run: | sudo rm -f /etc/boto.cfg make test env: AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY - name: Coverage run: codecov