stripack-sys 0.1.2

Raw Rust FFI bindings to STRIPACK for Delaunay triangulation on the unit sphere
Documentation
name: Build Pre-compiled Libraries
on:
  workflow_dispatch:
    inputs:
      reason:
        description: 'Reason for building'
        required: false
        default: 'Manual library build'

jobs:
  build-linux-x86_64:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Fortran
        uses: fortran-lang/setup-fortran@v1
        with:
          compiler: gcc
      - name: Build library
        run: |
          gfortran -c -O3 -fPIC fortran/stripack.f90 -o stripack.o
          mkdir -p lib/x86_64-unknown-linux-gnu
          ar rcs lib/x86_64-unknown-linux-gnu/libstripack.a stripack.o
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: x86_64-unknown-linux-gnu
          path: lib/x86_64-unknown-linux-gnu/
  build-linux-aarch64:
    runs-on: ubuntu-24.04-arm
    steps:
      - uses: actions/checkout@v4
      - name: Install Fortran
        uses: fortran-lang/setup-fortran@v1
        with:
          compiler: gcc
      - name: Build library
        run: |
          gfortran -c -O3 -fPIC fortran/stripack.f90 -o stripack.o
          mkdir -p lib/aarch64-unknown-linux-gnu
          ar rcs lib/aarch64-unknown-linux-gnu/libstripack.a stripack.o
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: aarch-unknown-linux-gnu
          path: lib/aarch64-unknown-linux-gnu/
  build-macos-aarch64:
    runs-on: macos-14
    steps:
      - uses: actions/checkout@v4
      - name: Install Fortran
        uses: fortran-lang/setup-fortran@v1
        with:
          compiler: gcc
      - name: Build library
        run: |
          gfortran -c -O3 -fPIC fortran/stripack.f90 -o stripack.o
          mkdir -p lib/aarch64-apple-darwin
          ar rcs lib/aarch64-apple-darwin/libstripack.a stripack.o
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: aarch64-apple-darwin
          path: lib/aarch64-apple-darwin/
  build-windows-gnu:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Fortran
        uses: fortran-lang/setup-fortran@v1
        with:
          compiler: gcc
      - name: Build library
        run: |
          gfortran -c -O3 fortran/stripack.f90 -o stripack.o
          mkdir -p lib/x86_64-pc-windows-gnu
          ar rcs lib/x86_64-pc-windows-gnu/libstripack.a stripack.o
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: x86_64-pc-windows-gnu
          path: lib/x86_64-pc-windows-gnu/
  commit-libs:
    needs: [build-linux-x86_64, build-linux-aarch64, build-macos-aarch64, build-windows-gnu]
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

      - name: Download all artifacts
        uses: actions/download-artifact@v4
        with:
          path: artifacts
          merge-multiple: false

      - name: Organize libraries
        run: |
          mkdir -p lib
          cp -r artifacts/* lib/

      - name: Commit and push
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add lib/
          git commit -m "Update pre-built libraries for ${{ github.ref_name }}" || exit 0
          git push