pyroscope 0.5.3

Pyroscope Profiler Agent for continuous profiling of Rust, Python and Ruby applications.
Documentation
name: Ruby Package

on: 
  push:
    paths:
    - 'pyroscope_ffi/ruby/**'
    - '.github/workflows/ruby.yml'
  pull_request:
    paths: 
    - 'pyroscope_ffi/ruby/**'
    - '.github/workflows/ruby.yml'

jobs:
  linux:
    strategy:
      fail-fast: false
      matrix:
        include:
          - build-arch: x86_64
            target: x86_64-unknown-linux-gnu
          - build-arch: aarch64
            target: arm-unknown-linux-gnueabihf

    name: Linux - ${{ matrix.build-arch }}
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - if: matrix.build-arch == 'aarch64'
        uses: docker/setup-qemu-action@v1
        with:
          platforms: arm64

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.1'

      - name: Install bundles 
        run: bundle
        working-directory: pyroscope_ffi/ruby

      - name: Build native extensions
        run: rake rbspy_install
        working-directory: pyroscope_ffi/ruby

      - name: Build native extensions
        run: rake thread_id_install
        working-directory: pyroscope_ffi/ruby

      - if: matrix.build-arch == 'x86_64'
        name: Build linux gem
        run: rake x86_64_linux:gem
        working-directory: pyroscope_ffi/ruby

      - if: matrix.build-arch == 'aarch64'
        name: Build linux gem
        run: rake aarch64_linux:gem
        working-directory: pyroscope_ffi/ruby

      - uses: actions/upload-artifact@v2
        with:
          name: ${{ github.sha }}
          path: pyroscope_ffi/ruby/pkg/*.gem

  macos:
    strategy:
      fail-fast: false
      matrix:
        include:
          - macos-version: "10.15"
            target: x86_64-apple-darwin
            py-platform: macosx-10_15_x86_64
          - macos-version: "11.0"
            target: aarch64-apple-darwin
            py-platform: macosx-11_0_arm64

    name: macOS - ${{ matrix.platform }}
    runs-on: macos-${{ matrix.macos-version }}

    env:
      RUST_TARGET: ${{ matrix.target }}

    steps:
      - uses: actions/checkout@v2

      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: ${{ matrix.target }}
          profile: minimal
          override: true

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.1'

      - name: Install bundles 
        run: bundle
        working-directory: pyroscope_ffi/ruby

      - name: Build native extensions
        run: rake rbspy_install
        working-directory: pyroscope_ffi/ruby

      - name: Build native extensions
        run: rake thread_id_install
        working-directory: pyroscope_ffi/ruby

      - if: matrix.target == 'x86_64-apple-darwin'
        name: Build macos gem
        run: rake x86_64_darwin:gem
        working-directory: pyroscope_ffi/ruby

      - if: matrix.target == 'aarch64-apple-darwin'
        name: Build macos gem
        run: rake arm64_darwin:gem
        working-directory: pyroscope_ffi/ruby

      - uses: actions/upload-artifact@v2
        with:
          name: ${{ github.sha }}
          path: pyroscope_ffi/ruby/pkg/*.gem

  source:
    name: source 
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.1'

      - name: Install bundles 
        run: bundle
        working-directory: pyroscope_ffi/ruby

      - name: Build source gem
        run: rake source:gem
        working-directory: pyroscope_ffi/ruby

      - uses: actions/upload-artifact@v2
        with:
          name: ${{ github.sha }}
          path: pyroscope_ffi/ruby/pkg/*.gem