Skip to content

Fix cut and paste bug that was showing same eq cond trace for EQUIV a… #913

Fix cut and paste bug that was showing same eq cond trace for EQUIV a…

Fix cut and paste bug that was showing same eq cond trace for EQUIV a… #913

Workflow file for this run

# This CI configuration is inspired by
#
# https://kodimensional.dev/github-actions
#
# It builds with a majority of the latest compiler releases from each major GHC
# revision on Linux and builds macOS and Windows against the latest GHC.
name: CI Matrix
# Trigger the workflow on push or pull request, but only for the master branch
on:
pull_request:
push:
branches: [master]
jobs:
docker:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
with:
submodules: 'false'
- name: Setup subrepos
run: |
git config --global url."https://github.com/".insteadOf "git@github.com:"
git config --global url."https://".insteadOf "git://"
git submodule update --init
- name: Artifactory Login
uses: docker/login-action@v2
with:
registry: artifactory.galois.com:5025
username: ${{ secrets.ARTIFACTORY_USER }}
password: ${{ secrets.ARTIFACTORY_KEY }}
# Pulls the latest image to try to re-use some layers
- name: Pull Latest Docker image
run: |
docker pull artifactory.galois.com:5025/pate/pate:${GITHUB_REF//\//\-} || \
docker pull artifactory.galois.com:5025/pate/pate:refs-heads-master || \
echo "No latest image found"
- name: Build Docker Image
run: |
docker build . \
--cache-from artifactory.galois.com:5025/pate/pate:${GITHUB_REF//\//\-} \
--cache-from artifactory.galois.com:5025/pate/pate:refs-heads-master \
-t pate
- name: Test Docker Image
run: |
docker run --rm --entrypoint cabal pate run pate-test-aarch32 -- -p args-equal > out.log
cat out.log
grep -e "All .* tests passed" out.log || exit 1
- name: Push Docker image
run: |
CI_COMMIT_SHORT_SHA=$(git rev-parse --short $GITHUB_SHA)
docker tag pate artifactory.galois.com:5025/pate/pate:$CI_COMMIT_SHORT_SHA
docker tag pate artifactory.galois.com:5025/pate/pate:${GITHUB_REF//\//\-}
docker push -a artifactory.galois.com:5025/pate/pate
build:
runs-on: ${{ matrix.os }}
env:
LANG: en_US.UTF-8
LANGUAGE: en_US:en
LC_ALL: en_US.UTF-8
TZ: America/Los_Angeles
CACHE_VERSION: 5
strategy:
fail-fast: false
matrix:
arch: [ 'ppc' ]
ghc: ['9.6.2']
cabal: ['3.10.2.0']
os: [self-hosted]
name: GHC ${{ matrix.ghc }} on ${{ matrix.os }} pate-${{ matrix.arch }}
steps:
- uses: actions/checkout@v2
with:
submodules: 'false'
- name: Setup subrepos and cabal.project
run: |
git config --global url."https://github.com/".insteadOf "git@github.com:"
git config --global url."https://".insteadOf "git://"
git submodule update --init
cp cabal.project.dist cabal.project
- name: Installing the freeze file
run: mv cabal.GHC-${{ matrix.ghc }}.freeze cabal.project.freeze
- uses: actions/cache/restore@v4
name: Restore GHCup
id: cache-ghcup
with:
path: ~/.ghcup
key: ${{ env.CACHE_VERSION }}-pate-ghcup-${{ runner.os }}-${{ matrix.ghc }}
- uses: haskell-actions/setup@v2
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- uses: actions/cache/save@v4
name: Save GHCup
with:
path: ~/.ghcup
key: ${{ steps.cache-ghcup.outputs.cache-primary-key }}
- name: System Dependencies
run: |
sudo apt update
sudo apt install -y software-properties-common apt-transport-https ca-certificates wget
sudo apt install -y bsdiff curl zlibc zlib1g zlib1g-dev git zip \
libgmp3-dev build-essential libtinfo-dev autoconf automake gperf cmake locales \
python3-distutils python-setuptools antlr3 libantlr3c-dev libtool libtool-bin libboost-all-dev python3-pip libfftw3-dev
sudo locale-gen en_US.UTF-8
sudo pip3 install toml
- name: Checkout Challenge Problems
env:
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
GITLAB_USER: ${{ env.GITLAB_USER }}
run: |
export CHALLENGE_DIR=${HOME}/programtargets
git clone --depth=1 https://${GITLAB_USER}:${GITLAB_TOKEN}@gitlab-ext.galois.com/pate/programtargets.git ${CHALLENGE_DIR}
cd tests
make extras
- uses: actions/cache/restore@v4
name: Restore Cabal Cache
id: cache-cabal-pate
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ env.CACHE_VERSION }}-pate-cabal-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze', 'cabal.project') }}
restore-keys: |
${{ env.CACHE_VERSION }}-pate-cabal-${{ runner.os }}-${{ matrix.ghc }}-
- uses: actions/cache/restore@v4
name: Restore Build Cache
id: cache-build-pate
with:
path: dist-newstyle
key: ${{ env.CACHE_VERSION }}-pate-build-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze', 'cabal.project', '.gitmodules') }}
restore-keys: |
${{ env.CACHE_VERSION }}-pate-build-${{ runner.os }}-${{ matrix.ghc }}-
- name: Configure and build Pate dependencies
# installs parameterized-utils and then drops it from the project to resolve issue with bv-sized
run: |
cabal configure pkg:pate --write-ghc-environment-files=always --enable-tests -j --allow-newer=base --enable-documentation -f unsafe-operations
cabal install parameterized-utils --lib
cabal freeze
sed -i -e "/parameterized-utils/d" cabal.project
cabal build pkg:pate --only-dependencies
# Note that these keys still use the old hashes for cabal.project and cabal.project.freeze
- uses: actions/cache/save@v4
name: Save Cabal Cache
with:
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
key: ${{ steps.cache-cabal-pate.outputs.cache-primary-key }}
- uses: actions/cache/save@v4
name: Save Build Cache
with:
path: dist-newstyle
key: ${{ steps.cache-build-pate.outputs.cache-primary-key }}
- name: Build Pate
run: cabal build pkg:pate
- name: Install Solvers
run: .github/ci.sh install_system_deps
env:
Z3_VERSION: "4.8.8"
YICES_VERSION: "2.6.2"
CVC4_VERSION: "4.1.8"
- name: Test
if: runner.os == 'Linux'
run: |
cabal test pkg:pate
- name: Docs
run: cabal haddock pkg:pate