CI: replace Travis with GitHub Actions.
authorwhitequark <whitequark@whitequark.org>
Wed, 22 Jul 2020 08:11:59 +0000 (08:11 +0000)
committerwhitequark <whitequark@whitequark.org>
Wed, 22 Jul 2020 09:28:35 +0000 (09:28 +0000)
Fixes #445.

.github/workflows/main.yaml
.travis.yml [deleted file]

index 1a2e5ff285457612ac7d79f7da4415991984b2cb..1545d72b56fa6e4fb6d08267783acead4fb2aac5 100644 (file)
@@ -4,6 +4,37 @@ on:
     types: [opened, reopened, synchronize]
 name: CI
 jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: ['3.6', '3.7', '3.8', pypy3]
+    steps:
+    - name: Check out source code
+      uses: actions/checkout@v2
+      with:
+        fetch-depth: 0
+    - name: Set up Python
+      uses: actions/setup-python@v2
+      with:
+        python-version: ${{ matrix.python-version }}
+    - name: Install dependencies
+      run: |
+        sudo add-apt-repository ppa:sri-csl/formal-methods
+        sudo apt-get update
+        sudo apt-get install yices2
+        pip install setuptools setuptools_scm wheel coverage codecov yowasp-yosys nmigen-yosys
+        pip install -e .
+    - name: Preserve wasmtime cache
+      uses: actions/cache@v1
+      with:
+        path: ~/.cache/wasmtime
+        key: ${{ runner.os }}-wasmtime
+    - name: Run tests
+      run: |
+        export NMIGEN_USE_YOSYS=builtin YOSYS=yowasp-yosys SBY=yowasp-sby SMTBMC=yowasp-yosys-smtbmc
+        python -m unittest discover
+        codecov
   document:
     runs-on: ubuntu-latest
     steps:
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644 (file)
index 5b62d85..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-dist: bionic
-language: python
-python:
-  - "3.6"
-  - "3.7"
-  - "3.8"
-  - "pypy3"
-cache:
-  directories:
-    - "$HOME/.local"
-    - "$HOME/.cache/wasmtime"
-before_install:
-  - if ! yices -V; then (git clone https://github.com/SRI-CSL/yices2.git && cd yices2 && autoconf && ./configure --prefix=$HOME/.local && make && make install); fi
-  - pip install coverage codecov pyvcd Jinja2 yowasp-yosys nmigen-yosys
-  - export NMIGEN_USE_YOSYS=builtin YOSYS=yowasp-yosys
-install:
-  - python setup.py develop
-script:
-  - coverage run -m unittest discover
-  - codecov
-matrix:
-  fast_finish: true