Skip to content

feat(prometheus-ghc-stats): add GHC RTS stats exporter package #29

feat(prometheus-ghc-stats): add GHC RTS stats exporter package

feat(prometheus-ghc-stats): add GHC RTS stats exporter package #29

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [master]
jobs:
cabal:
name: cabal / ghc-${{ matrix.ghc }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
# - macOS-latest
cabal:
- "latest"
ghc:
- "8.10.7"
- "9.0.2"
- "9.2.8"
- "9.4.8"
- "9.6.6"
- "9.8.2"
- "9.10.3"
- "9.12.4"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: haskell-actions/setup@cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553 # v2.11.0
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
name: Cache cabal-store
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ matrix.os }}-${{ matrix.ghc }}-cabal
- name: Build
run: |
cabal update
cabal build package:prometheus --enable-tests --enable-benchmarks --write-ghc-environment-files=always --flags="buildexamples"
# TODO: Actually add tests
# - name: Test
# run: |
# cabal test package:prometheus --enable-tests
cabal-ghc-stats:
name: cabal / prometheus-ghc-stats / ghc-${{ matrix.ghc }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
cabal:
- "latest"
# prometheus-ghc-stats is GHC2024 and uses RTSStats fields that only
# exist on newer compilers, so it requires GHC >= 9.10.
ghc:
- "9.10.3"
- "9.12.4"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: haskell-actions/setup@cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553 # v2.11.0
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
name: Cache cabal-store
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ matrix.os }}-${{ matrix.ghc }}-cabal-ghc-stats
- name: Build
run: |
cabal update
cabal build package:prometheus-ghc-stats --enable-tests --enable-benchmarks --write-ghc-environment-files=always
stack:
name: stack ${{ matrix.plan.resolver }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
# - macOS-latest
stack: ["latest"]
# ghc must match each snapshot's compiler exactly, since we build
# with --system-ghc against the GHC provisioned by the setup action.
plan:
- { resolver: "--stack-yaml ./stack-8.10.yaml", ghc: "8.10.7" }
- { resolver: "--stack-yaml ./stack-9.0.yaml", ghc: "9.0.2" }
- { resolver: "--stack-yaml ./stack-9.2.yaml", ghc: "9.2.8" }
- { resolver: "--stack-yaml ./stack-9.4.yaml", ghc: "9.4.8" }
- { resolver: "--stack-yaml ./stack-9.6.yaml", ghc: "9.6.6" }
- { resolver: "--stack-yaml ./stack-9.8.yaml", ghc: "9.8.4" }
- { resolver: "--stack-yaml ./stack-9.10.yaml", ghc: "9.10.3" }
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: haskell-actions/setup@cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553 # v2.11.0
name: Setup Haskell Stack
with:
ghc-version: ${{ matrix.plan.ghc }}
stack-version: ${{ matrix.stack }}
enable-stack: true
- uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0
name: Cache ~/.stack
with:
path: ~/.stack
key: ${{ matrix.os }}-stack-${{ matrix.plan.ghc }}
- name: Build
run: |
stack ${{ matrix.plan.resolver }} --system-ghc --no-install-ghc build --test --bench --no-run-tests --no-run-benchmarks --flag prometheus:buildexamples
# TODO: Actually add tests
# - name: Test
# run: |
# stack test