feat(prometheus-ghc-stats): add GHC RTS stats exporter package #29
Workflow file for this run
This file contains hidden or 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: | |
| 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 |