From 88d5e2a593ed70dfcca7534dcb6f8f88d3c76e9d Mon Sep 17 00:00:00 2001 From: Siddhant Chaudhary Date: Mon, 6 May 2024 14:15:24 +0530 Subject: [PATCH] Generating project files with PkgTemplates. --- .JuliaFormatter.toml | 1 + .github/dependabot.yml | 7 +++ .github/workflows/CI.yml | 77 ++++++++++++++++++++++++++++++ .github/workflows/CompatHelper.yml | 16 +++++++ .github/workflows/Register.yml | 16 +++++++ .github/workflows/TagBot.yml | 31 ++++++++++++ .gitignore | 6 +++ CITATION.bib | 8 ++++ CODEOWNERS | 1 + LICENSE | 21 ++++++++ Project.toml | 13 +++++ README.md | 6 ++- docs/Project.toml | 3 ++ docs/make.jl | 23 +++++++++ docs/src/index.md | 14 ++++++ src/ColBERT.jl | 5 ++ test/runtests.jl | 6 +++ 17 files changed, 253 insertions(+), 1 deletion(-) create mode 100644 .JuliaFormatter.toml create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/CompatHelper.yml create mode 100644 .github/workflows/Register.yml create mode 100644 .github/workflows/TagBot.yml create mode 100644 .gitignore create mode 100644 CITATION.bib create mode 100644 CODEOWNERS create mode 100644 LICENSE create mode 100644 Project.toml create mode 100644 docs/Project.toml create mode 100644 docs/make.jl create mode 100644 docs/src/index.md create mode 100644 src/ColBERT.jl create mode 100644 test/runtests.jl diff --git a/.JuliaFormatter.toml b/.JuliaFormatter.toml new file mode 100644 index 0000000..01bfab9 --- /dev/null +++ b/.JuliaFormatter.toml @@ -0,0 +1 @@ +# See https://domluna.github.io/JuliaFormatter.jl/stable/ for a list of options diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..700707c --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..8169673 --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,77 @@ +name: CI +on: + push: + branches: + - main + tags: ['*'] + pull_request: + workflow_dispatch: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + permissions: # needed to allow julia-actions/cache to proactively delete old caches that it has created + actions: write + contents: read + strategy: + fail-fast: false + matrix: + version: + - '1.10' + - 'nightly' + os: + - ubuntu-latest + arch: + - x64 + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v4 + with: + files: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false + docs: + name: Documentation + runs-on: ubuntu-latest + permissions: + actions: write # needed to allow julia-actions/cache to proactively delete old caches that it has created + contents: write + statuses: write + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v1 + with: + version: '1' + - uses: julia-actions/cache@v1 + - name: Configure doc environment + shell: julia --project=docs --color=yes {0} + run: | + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate() + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-docdeploy@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + - name: Run doctests + shell: julia --project=docs --color=yes {0} + run: | + using Documenter: DocMeta, doctest + using ColBERT + DocMeta.setdocmeta!(ColBERT, :DocTestSetup, :(using ColBERT); recursive=true) + doctest(ColBERT) diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml new file mode 100644 index 0000000..cba9134 --- /dev/null +++ b/.github/workflows/CompatHelper.yml @@ -0,0 +1,16 @@ +name: CompatHelper +on: + schedule: + - cron: 0 0 * * * + workflow_dispatch: +jobs: + CompatHelper: + runs-on: ubuntu-latest + steps: + - name: Pkg.add("CompatHelper") + run: julia -e 'using Pkg; Pkg.add("CompatHelper")' + - name: CompatHelper.main() + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} + run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/Register.yml b/.github/workflows/Register.yml new file mode 100644 index 0000000..5b7cd3b --- /dev/null +++ b/.github/workflows/Register.yml @@ -0,0 +1,16 @@ +name: Register Package +on: + workflow_dispatch: + inputs: + version: + description: Version to register or component to bump + required: true +jobs: + register: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: julia-actions/RegisterAction@latest + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml new file mode 100644 index 0000000..0cd3114 --- /dev/null +++ b/.github/workflows/TagBot.yml @@ -0,0 +1,31 @@ +name: TagBot +on: + issue_comment: + types: + - created + workflow_dispatch: + inputs: + lookback: + default: "3" +permissions: + actions: read + checks: read + contents: write + deployments: read + issues: read + discussions: read + packages: read + pages: read + pull-requests: read + repository-projects: read + security-events: read + statuses: read +jobs: + TagBot: + if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' + runs-on: ubuntu-latest + steps: + - uses: JuliaRegistries/TagBot@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95731a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.jl.*.cov +*.jl.cov +*.jl.mem +/Manifest.toml +/docs/Manifest.toml +/docs/build/ diff --git a/CITATION.bib b/CITATION.bib new file mode 100644 index 0000000..3277f68 --- /dev/null +++ b/CITATION.bib @@ -0,0 +1,8 @@ +@misc{ColBERT.jl, + author = {Siddhant Chaudhary and contributors}, + title = {ColBERT.jl}, + url = {https://github.com/codetalker7/ColBERT.jl}, + version = {v1.0.0-DEV}, + year = {2024}, + month = {5} +} diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2194243 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Siddhant Chaudhary and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Project.toml b/Project.toml new file mode 100644 index 0000000..d117fcc --- /dev/null +++ b/Project.toml @@ -0,0 +1,13 @@ +name = "ColBERT" +uuid = "7e8ad7a6-05a9-45be-b784-576440ebc08e" +authors = ["Siddhant Chaudhary and contributors"] +version = "1.0.0-DEV" + +[compat] +julia = "1.10" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Test"] diff --git a/README.md b/README.md index deb787e..bea1924 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # ColBERT.jl -Late interaction retrieval systems in Julia! + +[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://codetalker7.github.io/ColBERT.jl/stable/) +[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://codetalker7.github.io/ColBERT.jl/dev/) +[![Build Status](https://github.com/codetalker7/ColBERT.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/codetalker7/ColBERT.jl/actions/workflows/CI.yml?query=branch%3Amain) +[![Coverage](https://codecov.io/gh/codetalker7/ColBERT.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/codetalker7/ColBERT.jl) diff --git a/docs/Project.toml b/docs/Project.toml new file mode 100644 index 0000000..f20828b --- /dev/null +++ b/docs/Project.toml @@ -0,0 +1,3 @@ +[deps] +ColBERT = "7e8ad7a6-05a9-45be-b784-576440ebc08e" +Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" diff --git a/docs/make.jl b/docs/make.jl new file mode 100644 index 0000000..dff56fe --- /dev/null +++ b/docs/make.jl @@ -0,0 +1,23 @@ +using ColBERT +using Documenter + +DocMeta.setdocmeta!(ColBERT, :DocTestSetup, :(using ColBERT); recursive=true) + +makedocs(; + modules=[ColBERT], + authors="Siddhant Chaudhary and contributors", + sitename="ColBERT.jl", + format=Documenter.HTML(; + canonical="https://codetalker7.github.io/ColBERT.jl", + edit_link="main", + assets=String[], + ), + pages=[ + "Home" => "index.md", + ], +) + +deploydocs(; + repo="github.com/codetalker7/ColBERT.jl", + devbranch="main", +) diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000..e896904 --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,14 @@ +```@meta +CurrentModule = ColBERT +``` + +# ColBERT + +Documentation for [ColBERT](https://github.com/codetalker7/ColBERT.jl). + +```@index +``` + +```@autodocs +Modules = [ColBERT] +``` diff --git a/src/ColBERT.jl b/src/ColBERT.jl new file mode 100644 index 0000000..1caeb23 --- /dev/null +++ b/src/ColBERT.jl @@ -0,0 +1,5 @@ +module ColBERT + +# Write your package code here. + +end diff --git a/test/runtests.jl b/test/runtests.jl new file mode 100644 index 0000000..13f2da4 --- /dev/null +++ b/test/runtests.jl @@ -0,0 +1,6 @@ +using ColBERT +using Test + +@testset "ColBERT.jl" begin + # Write your tests here. +end