name: Build unstable on: [push] concurrency: group: unstable # cancel-in-progress: true jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [ 3.8, 3.9, '3.10', '3.11' ] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Cleanup more disk space run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Install dependencies run: | python -m pip install --upgrade pip pip install --upgrade flake8 pytest pycodestyle pytest-cov if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pytest docker-build: needs: [build] runs-on: ubuntu-latest steps: - name: Create more disk space run: sudo rm -rf /usr/share/dotnet && sudo rm -rf /opt/ghc && sudo rm -rf "/usr/local/share/boost" && sudo rm -rf "$AGENT_TOOLSDIRECTORY" - uses: actions/checkout@v2 - name: Build and push id: docker_build uses: mr-smithers-excellent/docker-build-push@v5 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} image: lfoppiano/document-insights-qa registry: docker.io pushImage: ${{ github.event_name != 'pull_request' }} tags: latest-develop - name: Image digest run: echo ${{ steps.docker_build.outputs.digest }}