docs: mention AtCoder.Extra.Monoid in AtCoder.Extra.LazySegTree
#226
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Haskell CI | |
| on: | |
| push: | |
| branches: '**' | |
| pull_request: | |
| branches-ignore: '**' | |
| # Stop other CI in the same branch on new run: | |
| concurrency: | |
| group: build-${{ github.ref }} | |
| cancel-in-progress: true | |
| # Some Haskell tools are preinstalled in: `/usr/local/.ghcup`. | |
| # There's a symlink: `~/.ghcup` -> `/usr/local/.ghcup`. | |
| jobs: | |
| build: | |
| name: Build (GHC ${{ matrix.ghc-version }} on ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| ghc-version: ['9.8.4'] | |
| # include: | |
| # - os: windows-latest | |
| # ghc-version: '9.8' | |
| # - os: macos-latest | |
| # ghc-version: '9.8' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Setup GHC | |
| uses: ./.github/actions/setup-ghc | |
| with: | |
| ghc-version: ${{ matrix.ghc-version }} | |
| - name: Build the library | |
| uses: ./.github/actions/build | |
| test: | |
| needs: build | |
| name: Test (GHC ${{ matrix.ghc-version }} on ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| # TODO: DRY | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| ghc-version: ['9.8.4'] | |
| # include: | |
| # - os: windows-latest | |
| # ghc-version: '9.8' | |
| # - os: macos-latest | |
| # ghc-version: '9.8' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Restore GHC | |
| uses: ./.github/actions/setup-ghc | |
| with: | |
| ghc-version: ${{ matrix.ghc-version }} | |
| - name: Restore the library build artifacts | |
| uses: ./.github/actions/build | |
| - name: Build check | |
| # As a test, build all the components in `ac-library-hs.cabal` (TODO: automate this) | |
| run: | | |
| cabal build ac-library-hs | |
| cabal build ac-library-hs:example-lazy-segtree | |
| cabal build ac-library-hs:ac-library-hs-benchmark | |
| - name: Run tests | |
| run: cabal test all | |
| - name: Check cabal file | |
| run: cabal check | |
| # - name: Build documentation | |
| # run: | |
| # cabal haddock all --disable-documentation | |
| # # --disable-documentation disables building documentation for dependencies. | |
| # # The package's own documentation is still built, | |
| # # yet contains no links to the documentation of the dependencies. | |
| doctest: | |
| needs: build | |
| name: Doctest (GHC ${{ matrix.ghc-version }} on ${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| # TODO: DRY | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] | |
| ghc-version: ['9.8.4'] | |
| # include: | |
| # - os: windows-latest | |
| # ghc-version: '9.8' | |
| # - os: macos-latest | |
| # ghc-version: '9.8' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Restore GHC | |
| uses: ./.github/actions/setup-ghc | |
| with: | |
| ghc-version: ${{ matrix.ghc-version }} | |
| - name: Restore the library build artifacts | |
| uses: ./.github/actions/build | |
| - name: Run doctest | |
| run: | | |
| cabal path | |
| cabal install doctest | |
| which doctest # `~/.local/bin` (in PATH by default) | |
| cabal repl --with-ghc=doctest --repl-options='-w -Wdefault' | |
| verify: | |
| needs: build | |
| name: Verify (GHC 9.8.4 on ubuntu-latest) | |
| runs-on: ubuntu-latest | |
| env: | |
| ghc-version: '9.8.4' | |
| num-parallel: '15' | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| parallel-index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] | |
| ghc-version: ['9.8.4'] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Restore GHC | |
| uses: ./.github/actions/setup-ghc | |
| with: | |
| ghc-version: ${{ matrix.ghc-version }} | |
| - name: Restore the library build artifacts | |
| uses: ./.github/actions/build | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.13' | |
| - name: Install oj-verify | |
| run: pip3 install -U online-judge-verify-helper | |
| # TODO: cache `~/.cache/online-judge-tools/library-checker-problems/` | |
| # TODO: cache `.verify-helper/cache/` | |
| - name: Run oj-verify | |
| # env: | |
| # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # YUKICODER_TOKEN: ${{ secrets.YUKICODER_TOKEN }} | |
| # GH_PAT: ${{ secrets.GH_PAT }} | |
| working-directory: verify | |
| run: | | |
| files="$(find app/ -type f | awk 'NR % ${{ env.num-parallel }} == ${{ matrix.parallel-index }}')" | |
| echo 'target files:' | |
| for f in $files ; do | |
| echo "- $f" | |
| done | |
| oj-verify run $files --tle 30 -j $(nproc) |