Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: build

# Trigger the workflow on push or pull request
on:
- pull_request
- push

jobs:
cabal:
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }} / cabal ${{ matrix.cabal }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-26.04]
cabal: ["2.4", "3.2", "3.4"]
ghc:
- "8.6.5"
- "8.8.4"
- "8.10.4"
- "9.0.1"

steps:

- uses: haskell-actions/setup@main
id: setup-haskell-cabal
name: Setup Haskell
continue-on-error: true
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}

- name: Prepare environment
run: |
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
sed -i -e "s;-- \(secure.\) True;\1 False;g" $HOME/.cabal/config
cabal update

- uses: actions/checkout@v7

- name: Install dependencies
run: |
sudo apt-get install -y cppcheck z3

- name: Format check
run: |
# Fail if the any non-binary files contain trailing spaces.
if grep -nIHre ' \+$' * ; then exit 1; fi

# Fail if the code, Cabal files, documentation or CHANGELOGs contain tabs.
if grep -rP '\t' --include='*.hs' --include='*.cabal' --include='*.md' --include='CHANGELOG' . ; then exit 1; fi

- name: Install copilot
run: |
cabal v2-install --lib copilot/ copilot-core/ copilot-c99/ copilot-language/ copilot-libraries/ copilot-theorem/ copilot-interpreter/ copilot-prettyprinter/

- name: Test packages
if: matrix.ghc == '8.10.4'
run: |
cabal v2-test -j1 copilot-core/ copilot-language/ copilot-interpreter/ copilot-c99/ copilot-theorem/ copilot-libraries/

- name: Check cpp
if: matrix.ghc == '8.10.4'
run: |
export GHC_ENVIRONMENT=~/.ghc/x86_64-linux-8.10.4/environments/default
runhaskell copilot/examples/Heater.hs; cppcheck --force --addon=misra.py --suppress=misra-c2012-14.4 --error-exitcode=2 heater.c
58 changes: 0 additions & 58 deletions .travis.yml

This file was deleted.

3 changes: 2 additions & 1 deletion copilot/CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
2026-10-15
2026-11-07
* Adjust Travis CI script to flag presence of tabs as an error. (#774)
* Adjust Travis CI script to flag trailing space as an error. (#777)
* Update README to correct typos and improve readability. (#779)
* Replace Travis CI with Github Actions. (#790)

2026-09-07
* Version bump (4.8.1). (#760)
Expand Down
2 changes: 1 addition & 1 deletion copilot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Copilot

[![Build Status](https://api.travis-ci.com/Copilot-Language/copilot.svg?branch=master)](https://app.travis-ci.com/github/Copilot-Language/copilot)
[![Build Status](https://github.com/Copilot-Language/copilot/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/Copilot-Language/copilot/actions/workflows/build.yml)
[![Version on Hackage](https://img.shields.io/hackage/v/copilot.svg)](https://hackage.haskell.org/package/copilot)

Copilot is a runtime verification framework for hard real-time systems.
Expand Down
Loading