diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 0000000..aa8c430 --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,8 @@ +coverage: + status: + patch: + default: + only_pulls: true # Only show the `codecov/patch` commit status on pull requests. + project: + default: + only_pulls: true # Only show the `codecov/project` commit status on pull requests. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..d60f070 --- /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: "monthly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..929c445 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,87 @@ +name: CI +on: + pull_request: + push: + branches: + - 'master' + - 'release-*' + tags: '*' +concurrency: + # Skip intermediate builds: all builds except for builds on the `master` or `release-*` branches + # Cancel intermediate builds: only pull request builds + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +jobs: + test: + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + julia-version: + - 'nightly' + os: + - ubuntu-latest + - windows-latest + julia-arch: + - x64 + - x86 + include: + - os: macOS-latest + julia-arch: aarch64 + julia-version: 'nightly' + - os: macOS-13 + julia-arch: x64 + julia-version: 'nightly' + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.julia-version }} + arch: ${{ matrix.julia-arch }} + - uses: julia-actions/cache@v2 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v5 + with: + file: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + aqua-test: + 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: + matrix: + julia-version: + - 'nightly' + os: + - ubuntu-latest + julia-arch: + - x64 + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.julia-version }} + arch: ${{ matrix.julia-arch }} + - uses: julia-actions/cache@v2 + - uses: julia-actions/julia-buildpkg@v1 + - uses: julia-actions/julia-runtest@v1 + env: + SPARSEARRAYS_AQUA_TEST: true + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: 'nightly' + - name: Generate docs + run: | + julia --project --color=yes -e 'using Pkg; Pkg.activate("docs"); Pkg.develop(PackageSpec(path = pwd()))' + julia --project=docs --color=yes docs/make.jl pdf + env: + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7280a53 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +Manifest.toml +Manifest-v*.*.toml +docs/build diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..be3f778 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2018-2024 SharedArrays.jl contributors: +https://github.com/JuliaSparse/SharedArrays.jl/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/README.md b/README.md new file mode 100644 index 0000000..9f54c8f --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# SharedArrays + +| **Build Status** | +|:-----------------------------------------------------------------------------------------------:| +| [![][ci-img]][ci-url] [![][codecov-img]][codecov-url] | + + +[ci-img]: https://github.com/JuliaLang/sharedarrays.jl/workflows/CI/badge.svg?branch=master +[ci-url]: https://github.com/JuliaLang/sharedarrays.jl/actions?query=workflow%3A%22CI%22 + +[codecov-img]: https://codecov.io/gh/JuliaLang/sharedarrays.jl/branch/master/graph/badge.svg +[codecov-url]: https://codecov.io/gh/JuliaLang/sharedarrays.jl + +This package ships as part of the Julia stdlib. + +SharedArrays.jl provides functionality for working with sparse arrays in Julia.