Documentation
name: test

env:
  CARGO_TERM_COLOR: always
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

permissions:
  contents: write

on: [push]

jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v4
      - uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          rustflags: "-A warnings"
          toolchain: "stable"
      - name: install ubuntu
        if: matrix.os == 'ubuntu-latest'
        run: |
          sudo apt-get install libxcb1 libxrandr2 libxcb1-dev -y
      - uses: easy-install/easy-setup@v1
        with:
          url: ahaoboy/ansi2

      - name: Run
        run: |
          cargo run -q
          cargo run -q > neofetch-${{ matrix.os }}.ans
          cargo run -q | ansi2 > neofetch-${{ matrix.os }}.svg

      - name: Upload
        uses: actions/upload-artifact@v4
        with:
          name: ${{ matrix.os }}
          path: |
            ./*.svg
            ./*.ans