chore: add fundings #92
This file contains 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: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
Build: | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: | |
- head | |
- "3.1" | |
- "3.0" | |
- "2.7" | |
- "2.6" | |
os: | |
- ubuntu | |
- macos | |
proj: | |
- "9.1.0" | |
- "9.0.1" | |
- "8.2.1" | |
- "8.1.1" | |
- "8.0.1" | |
- "7.2.1" | |
- "7.1.1" | |
- "7.0.1" | |
- "6.3.1" | |
- "6.2.1" | |
runs-on: ${{ matrix.os }}-latest | |
name: Ruby ${{ matrix.ruby }}, Proj-${{ matrix.proj }} (${{ matrix.os }}) | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Packages (Linux) | |
if: matrix.os == 'ubuntu' | |
run: | | |
sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable | |
sudo apt-get install curl libcurl4-openssl-dev libssl-dev libgeos-dev cmake | |
- name: Install Packages (Mac) | |
if: matrix.os == 'macos' | |
run: brew install geos cmake | |
- uses: actions/cache@v2 | |
id: proj-cache | |
with: | |
path: ./proj-${{ matrix.proj }} | |
key: proj-${{ matrix.proj }}-os-${{ matrix.os }}-cmake-version | |
- name: Download and Compile Proj | |
if: steps.proj-cache.outputs.cache-hit != 'true' | |
run: | | |
wget -c https://download.osgeo.org/proj/proj-${{ matrix.proj }}.tar.gz -O - | tar -xz | |
cd proj-${{ matrix.proj }} | |
mkdir build | |
cd build | |
cmake .. | |
cmake --build . | |
cd ../../ | |
- name: Install Proj | |
run: | | |
cd proj-${{ matrix.proj }}/build | |
cmake .. | |
cmake --build . | |
sudo cmake --build . --target install | |
cd ../../ | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: false | |
- name: Bundle Install | |
run: | | |
bundle install | |
- name: Set Maintainer Mode | |
if: ${{ github.event.pull_request }} | |
run: export MAINTAINER_MODE=1 | |
- name: Test | |
run: bundle exec rake | |
Memcheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.1" | |
bundler-cache: true | |
- name: Install dependencies | |
run: | | |
sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable | |
sudo apt-get install -yqq libgeos-dev libproj-dev proj-bin valgrind | |
- name: Test & Memcheck | |
run: bundle exec rake test:valgrind | |
RuboCop: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.1" | |
bundler-cache: true | |
- run: | | |
bundle exec rubocop --color --parallel | |
clang-format: | |
# NOTE: you could update that tag to `-latest` when the new ubuntu LTS | |
# is released. Nowadays, `-latest` would point to 20.04 which has an | |
# outdated clang-format package. | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install clang-format | |
run: sudo apt-get install -yqq clang-format | |
- name: Show version | |
run: clang-format --version | |
- name: Run clang-format | |
run: bin/clang-format lint |