gpt4 book ai didi

haskell - 用于测试 Haskell 包的 GitHub 操作?

转载 作者:行者123 更新时间:2023-12-04 11:29:32 27 4
gpt4 key购买 nike

最近,由于我发现的所有示例操作的易于配置和开箱即用的成功,我被 Travis CI 吸引到我的 Julia 项目的 GitHub 操作,并认为我会尝试使用我的 Haskell project .但是我发现的 Haskell Actions 示例都没有功能,大多数都因安全或 gcc 而失败。编译器标志错误,即使对于在 Travis CI 中工作的完全相同的命令也是如此。
是否有运行 Haskell GitHub Actions 的示例?我怀疑我只是没有在正确的地方寻找最新的工作示例。

最佳答案

最终,经过大量的试验和错误,我最终得到了 roughly this ,效果很好:

name: Tests

on:
pull_request:
push:
branches: [hackage, develop]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
ghc: ['8.8.3', '8.10.5']
cabal: ['2.4.1.0', '3.0.0.0']
os: [ubuntu-latest]
resolver: [lts-3.22 , lts-17, lts-18, lts]
exclude:
# GHC 8.8+ only works with cabal v3+
- ghc: 8.8.3
cabal: 2.4.1.0
name: ${{ matrix.resolver }} (${{ matrix.ghc }}/${{ matrix.cabal }})
steps:

- name: Check out
uses: actions/checkout@v2

- name: Setup Haskell
uses: haskell/actions/setup@v1
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
enable-stack: true

- name: Versions
run: |
stack --version
cabal --version
ghc --version

- name: Initalize stack for LTS
run: |
stack update
stack init --resolver ${{ matrix.resolver }} --force

- name: Build package dependencies
run: |
stack --resolver ${{ matrix.resolver }} build --no-run-tests --no-run-benchmarks --only-dependencies

- name: Build package
run: |
stack --resolver ${{ matrix.resolver }} build --no-run-tests --no-run-benchmarks

- name: Build testing dependencies
run: |
stack --resolver ${{ matrix.resolver }} build --no-run-tests --no-run-benchmarks --test --bench

- name: Run tests
run: |
stack --resolver ${{ matrix.resolver }} build --test --no-run-benchmarks

- name: Package list
run: |
stack --resolver ${{ matrix.resolver }} exec ghc-pkg list || true
(虽然我不确定构建步骤的顺序是否正确 for what I intend ,并且对 where caching should go 有一些疑问。)

关于haskell - 用于测试 Haskell 包的 GitHub 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68399221/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com