| |
| name: CI |
|
|
| on: |
| push: |
| branches: [ main ] |
| pull_request: |
| branches: [ main ] |
|
|
| jobs: |
| lint-and-test: |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| python-version: [3.9, 3.10, 3.11] |
| steps: |
| - uses: actions/checkout@v3 |
|
|
| - name: Set up Python |
| uses: actions/setup-python@v4 |
| with: |
| python-version: ${{ matrix.python-version }} |
|
|
| - name: Install dependencies |
| run: | |
| python -m pip install --upgrade pip |
| pip install -r requirements.txt |
| pip install flake8 pytest |
| |
| - name: Lint with flake8 |
| run: | |
| flake8 . |
| |
| - name: Run pytest |
| run: | |
| pytest --maxfail=1 --disable-warnings -q |
| |
| build-and-deploy: |
| needs: lint-and-test |
| runs-on: ubuntu-latest |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' |
| steps: |
| - uses: actions/checkout@v3 |
|
|
| - name: Build Docker image |
| run: | |
| docker build -t anycoder:latest . |
| |
| |
|
|