diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..74b7d3fd --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,94 @@ +name: CI + +on: + - push + - pull_request + +env: + JULIA_MPI_BINARY: system + +jobs: + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.3' + - '1.5' + - 'nightly' + os: + - ubuntu-20.04 + arch: + - x64 + steps: + - name: Install libraries + run: | + sudo apt-get update + sudo apt-get install mpich libmpich-dev + + - uses: actions/checkout@v2 + + - uses: julia-actions/setup-julia@v1 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + + - uses: actions/cache@v1 + env: + cache-name: cache-artifacts + with: + path: ~/.julia/artifacts + key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} + restore-keys: | + ${{ runner.os }}-test-${{ env.cache-name }}- + ${{ runner.os }}-test- + ${{ runner.os }}- + + - name: Precompile + run: | + julia --project -e ' + using Pkg + using InteractiveUtils + versioninfo() + pkg"instantiate" + pkg"precompile" + using MPI + println("\n", MPI.MPI_LIBRARY_VERSION_STRING)' + + - uses: julia-actions/julia-buildpkg@v1 + + - uses: julia-actions/julia-runtest@v1 + + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v1 + with: + file: lcov.info + + docs: + name: Documentation + runs-on: ubuntu-20.04 + steps: + - name: Install libraries + run: | + sudo apt-get update + sudo apt-get install mpich libmpich-dev + + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@latest + with: + version: '1.5' + - name: Install dependencies + run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - name: Build and deploy + run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + +# vim: shiftwidth=2 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6ecb6f9a..00000000 --- a/.travis.yml +++ /dev/null @@ -1,82 +0,0 @@ -# Documentation: http://docs.travis-ci.com/user/languages/julia -language: julia - -notifications: - email: false - -julia: - - 1.3 - - 1.5 - - nightly - -os: - - linux - -dist: bionic - -addons: - apt: - update: true - packages: - - mpich - - libmpich-dev - - libhdf5-mpich-dev - -env: - global: - - JULIA_MPI_BINARY=system - - JULIA_HDF5_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/hdf5/mpich - -arch: - - x64 - -cache: - directories: - - ~/.julia/artifacts - -script: - # Force precompilation of packages in serial mode. - # Also install and build HDF5.jl, and show version info. - - | - julia --project -e ' - using Pkg - using InteractiveUtils - versioninfo() - pkg"add HDF5" - using HDF5 - @show HDF5.libhdf5 - pkg"instantiate" - pkg"precompile" - using MPI - println("\n", MPI.MPI_LIBRARY_VERSION_STRING)' - - julia --project -e 'import Pkg; Pkg.test(coverage=true)' - -jobs: - fast_finish: true - allow_failures: - - julia: nightly - include: - - stage: Documentation - julia: 1.5 - script: | - julia --project=docs -e ' - using Pkg - Pkg.develop(PackageSpec(path=pwd())) - Pkg.instantiate() - using Documenter: DocMeta, doctest - using PencilFFTs - DocMeta.setdocmeta!( - PencilFFTs, :DocTestSetup, :(using PencilFFTs); recursive=true) - doctest(PencilFFTs) - include("docs/make.jl")' - after_success: skip - -after_success: - - | - julia -e ' - using Pkg - Pkg.add("Coverage") - using Coverage - Codecov.submit(process_folder())' - -# vim: shiftwidth=2 diff --git a/README.md b/README.md index bae7da8f..faeb0776 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,8 @@ [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jipolanco.github.io/PencilFFTs.jl/dev/) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3618781.svg)](https://doi.org/10.5281/zenodo.3618781) -[![Build Status](https://travis-ci.com/jipolanco/PencilFFTs.jl.svg?branch=master)](https://travis-ci.com/jipolanco/PencilFFTs.jl) -[![codecov](https://codecov.io/gh/jipolanco/PencilFFTs.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/jipolanco/PencilFFTs.jl) -[![coveralls](https://coveralls.io/repos/github/jipolanco/PencilFFTs.jl/badge.svg?branch=master)](https://coveralls.io/github/jipolanco/PencilFFTs.jl?branch=master) +[![Build Status](https://github.com/jipolanco/PencilFFTs.jl/workflows/CI/badge.svg)](https://github.com/jipolanco/PencilFFTs.jl/actions) +[![Coverage](https://codecov.io/gh/jipolanco/PencilFFTs.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/jipolanco/PencilFFTs.jl) Fast Fourier transforms of MPI-distributed Julia arrays.