libxml 0.3.8

A Rust wrapper for libxml2 - the XML C parser and toolkit developed for the Gnome project
Documentation
on: [push, pull_request]

name: CI Linux

jobs:
  test:
    name: rust-libxml CI
    runs-on: ubuntu-latest
    strategy:
      matrix:
        with_default_bindings: [false, true]
    steps:
      - name: install dependencies
        uses: ryankurte/action-apt@v0.2.0
        with:
          packages: "libxml2-dev"
      - name: Set up LIBXML2 env var if compiling with the default bindings
        run: echo "LIBXML2=$(pkg-config libxml-2.0 --variable=libdir)/libxml2.so" >> "$GITHUB_ENV"
        if: ${{ matrix.with_default_bindings }}
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: run tests
        uses: actions-rs/cargo@v1
        with:
          command: test

  test-newer-libxml2:
    strategy:
      matrix:
        libxml_version: ["2.12.9", "2.13.8","2.14.1"]
    name: With libxml ${{ matrix.libxml_version }}
    runs-on: ubuntu-latest
    steps:
      - name: install dependencies
        uses: ryankurte/action-apt@v0.2.0
        with:
          packages: "libpython3-dev"
      - uses: actions/checkout@v2
      - name: Install libxml ${{ matrix.libxml_version }} by hand
        run: |
          wget https://download.gnome.org/sources/libxml2/$(echo ${{ matrix.libxml_version }} | sed -e 's/\.[0-9]*$//')/libxml2-${{ matrix.libxml_version }}.tar.xz
          tar xf libxml2-${{ matrix.libxml_version }}.tar.xz
          cd libxml2-${{ matrix.libxml_version }}
          ./configure
          make
          sudo make install
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
        env:
          LD_LIBRARY_PATH: /usr/local/lib