Skip to content

Commit 9ec957f

Browse files
committed
azure pipelines => github actions
1 parent dfd1db0 commit 9ec957f

File tree

7 files changed

+98
-19
lines changed

7 files changed

+98
-19
lines changed

.github/workflows/ci.yml

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: ci
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
7+
linuxMeson64:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v1
11+
- uses: actions/setup-python@v1
12+
with:
13+
python-version: 3.7
14+
- name: Install Meson
15+
run: python -m pip install meson
16+
- name: Install packages
17+
run: sudo apt install -yq --no-install-recommends ninja-build gfortran
18+
- name: Meson configure
19+
run: meson setup build -Drealbits=64
20+
env:
21+
FC: gfortran
22+
- name: Meson test
23+
run: meson test -C build -v
24+
- uses: actions/upload-artifact@v1
25+
if: failure()
26+
with:
27+
name: Linux_Meson_Testlog64
28+
path: build/meson-logs/testlog.txt
29+
30+
linuxMeson32:
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v1
34+
- uses: actions/setup-python@v1
35+
with:
36+
python-version: 3.7
37+
- name: Install Meson
38+
run: python -m pip install meson
39+
- name: Install packages
40+
run: sudo apt install -yq --no-install-recommends ninja-build gfortran
41+
- name: Meson configure
42+
run: meson setup build -Drealbits=32
43+
env:
44+
FC: gfortran
45+
- name: Meson test
46+
run: meson test -C build -v
47+
- uses: actions/upload-artifact@v1
48+
if: failure()
49+
with:
50+
name: Linux_Meson_Testlog32
51+
path: build/meson-logs/testlog.txt
52+
53+
windowsCmake64:
54+
runs-on: windows-latest
55+
steps:
56+
- uses: actions/checkout@v1
57+
- name: Cmake configure
58+
run: cmake -B build -Drealbits=64 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
59+
env:
60+
FC: gfortran
61+
- name: Cmake build
62+
run: cmake --build build --parallel
63+
- name: Cmake test
64+
run: ctest -V
65+
working-directory: build
66+
67+
windowsCmake32:
68+
runs-on: windows-latest
69+
steps:
70+
- uses: actions/checkout@v1
71+
- name: Cmake configure
72+
run: cmake -B build -Drealbits=32 -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND"
73+
env:
74+
FC: gfortran
75+
- name: Cmake build
76+
run: cmake --build build --parallel
77+
- name: Cmake test
78+
run: ctest -V
79+
working-directory: build

README.md

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
[![DOI](https://zenodo.org/badge/144193557.svg)](https://zenodo.org/badge/latestdoi/144193557)
2-
[![Build Status](https://travis-ci.com/scivision/maptran3d.svg?branch=master)](https://travis-ci.com/scivision/maptran3d)
3-
[![Build status](https://ci.appveyor.com/api/projects/status/dp2n2l8hg3ouixkh?svg=true)](https://ci.appveyor.com/project/scivision/maptran3d)
2+
3+
[![Actions Status](https://github.com/scivision/maptran3d/workflows/ci/badge.svg)](https://github.com/scivision/maptran3d/actions)
4+
45

56
# Maptran 3D
67
Modern Fortran 3D coordinate conversions for geospace ecef enu eci.
7-
Similar to Python
8+
Similar to Python
89
[PyMap3D](https://github.com/scivision/pymap3d)
910
and Matlab / GNU Octave
1011
[Matmap3d](https://github.com/scivision/matmap3d).
@@ -25,11 +26,13 @@ The large real values typical of map coordinates can lead to large error with 32
2526
### CMake
2627

2728
```sh
28-
cd build
29+
cmake -B build
2930

30-
cmake ..
31+
cmake --build build --parallel
32+
33+
cd build
3134

32-
cmake --build .
35+
ctest -V
3336
```
3437

3538
Optionally, verify Fortran functionality:
@@ -40,23 +43,17 @@ ctest -V
4043
### Meson
4144

4245
```sh
43-
cd bin
44-
45-
meson ..
46+
meson build
4647

47-
ninja
48+
meson test -C build
4849
```
4950

50-
Optionally, verify Fortran functionality:
51-
```sh
52-
ninja test
53-
```
5451

5552

5653
## Usage
5754

5855
The modern Fortran API is simple like PyMap3D and Matlab Mapping Toolbox.
59-
`elemental` procedures are used throughout to enable seamless support of scalar or array coordinate inputs.
56+
`elemental` procedures are used throughout to enable seamless support of scalar or array coordinate inputs.
6057

6158
```fortran
6259
use maptran

.appveyor.yml renamed to archive/.appveyor.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@ install:
2020
test_script:
2121
- cd build
2222
- ctest --parallel --output-on-failure
23-
File renamed without changes.

meson.build

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ f18flag = fc.first_supported_argument(['-std=f2018', '-stand f18', '/stand:f18']
99
if fc.get_id() == 'gcc'
1010
add_project_arguments('-fimplicit-none', f18flag, language : 'fortran')
1111
elif fc.get_id() == 'intel'
12-
add_project_arguments('-warn', '-heap-arrays', language : 'fortran')
12+
add_project_arguments('-warn', '-heap-arrays', f18flag, language : 'fortran')
1313
elif fc.get_id() == 'intel-cl'
14-
add_project_arguments('/fpp', '/warn', '/heap-arrays', language : 'fortran')
14+
add_project_arguments('/fpp', '/warn', '/heap-arrays', f18flag, language : 'fortran')
1515
elif fc.get_id() == 'pgi'
1616
add_project_arguments('-C', '-Mdclchk', language : 'fortran')
1717
endif
1818

19+
subdir('src')
1920
# --- Maptran library
20-
maptran = library('maptran', 'src/maptran.F90', 'src/vallado.F90', 'src/aer.f90', 'src/ecef.f90', 'src/enu.f90',
21+
maptran = library('maptran',
22+
sources: srcs,
2123
fortran_args : realbits)
2224

2325
# --- testing

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
meson

src/meson.build

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
srcs = files('maptran.F90', 'vallado.F90', 'aer.f90', 'ecef.f90', 'enu.f90')

0 commit comments

Comments
 (0)