name: Test on: ['push', 'pull_request'] jobs: lint: runs-on: ubuntu-latest env: python-version: 3.6 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ env.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ env.python-version }} - name: Install Dependencies run: | python3 -m pip install -U pip python3 -m pip install -U flake8 - name: Lint codebase run: python3 -m flake8 test: needs: lint runs-on: ubuntu-latest strategy: matrix: python-version: [3.5, 3.6, 3.7, 3.8, 3.9, '3.10'] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 if: "!endsWith(matrix.python-version, '-dev')" with: python-version: ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }} (deadsnakes) uses: deadsnakes/action@v2.1.1 if: endsWith(matrix.python-version, '-dev') with: python-version: ${{ matrix.python-version }} - name: Install apt dependencies run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ docbook-xml \ docbook-xsl \ dvipng \ dvisvgm \ graphviz \ imagemagick \ libxml2-utils \ lilypond \ source-highlight \ texlive-latex-base \ xsltproc - run: pip install -U pytest pytest-mock coverage - run: coverage run -m asciidoc.asciidoc --doctest - run: coverage run --append --source=asciidoc -m pytest - run: coverage xml - run: time python tests/testasciidoc.py run - uses: codecov/codecov-action@v2 test-windows: needs: lint runs-on: windows-latest env: python-version: 3.7 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ env.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ env.python-version }} - run: python -m asciidoc.asciidoc --doctest - run: python tests/testasciidoc.py run --number 6 make: needs: lint runs-on: ubuntu-latest env: python-version: 3.5 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ env.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install apt dependencies run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ docbook-xml \ docbook-xsl \ dvipng \ dvisvgm \ graphviz \ imagemagick \ libxml2-utils \ lilypond \ source-highlight \ texlive-latex-base \ xsltproc - run: pip install -U pytest pytest-mock - name: Configure make run: | autoconf ./configure - run: make test - run: make install - run: sudo make docs - name: Print versions run: | asciidoc --version a2x --version - run: asciidoc --version - run: asciidoc --filter list make-dist: needs: lint runs-on: ubuntu-latest env: python-version: 3.5 steps: - uses: actions/checkout@v2 - name: Set up Python ${{ env.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Install apt dependencies run: | sudo apt-get update sudo apt-get install -y --no-install-recommends \ docbook-xml \ docbook-xsl \ dvipng \ dvisvgm \ graphviz \ imagemagick \ libxml2-utils \ lilypond \ source-highlight \ texlive-latex-base \ xsltproc - run: pip install -U pytest pytest-mock - name: Configure make run: | autoconf ./configure - run: make dist - run: mkdir dist - run: tar -xvf build/asciidoc-*.tar.gz -C dist --strip-components=1 - run: | autoconf ./configure working-directory: dist - run: python3 -m pytest working-directory: dist - run: python3 tests/testasciidoc.py run --number 1 working-directory: dist - run: make install working-directory: dist - run: asciidoc --version