Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dune based build #83

Merged
merged 45 commits into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
9da90a5
Dune: deps, isabelle.
kape1395 May 27, 2023
a2cccbc
Dune: deps, zenon.
kape1395 May 27, 2023
113b1bf
Trying to make dune install work for deps.
kape1395 May 30, 2023
9eb565a
deps: z3 and ls4.
kape1395 May 30, 2023
0d5fa15
deps: translate utility.
kape1395 May 30, 2023
451b04e
install emacs mode.
kape1395 May 30, 2023
040a5c3
install: library.
kape1395 May 30, 2023
fc7a310
Try ocaml 4.08.2 instead of 4.08.1.
kape1395 May 31, 2023
7826dec
Revert "Try ocaml 4.08.2 instead of 4.08.1."
kape1395 May 31, 2023
9fe5a8d
Use dune-site to locate backends (partial).
kape1395 Jun 1, 2023
5638f17
Run tests with dune (except the mlt files).
kape1395 Jun 5, 2023
8bc06c3
Able to run the testcases selectively.
kape1395 Jun 5, 2023
2422f4e
Fix the existing build.
kape1395 Jun 6, 2023
1892e10
Fix a warning.
kape1395 Jun 6, 2023
3c21d96
Use stdlib site for the library TLA files.
kape1395 Jun 6, 2023
ca5e8fd
github actions are now passing when rinning them locally.
kape1395 Jun 7, 2023
6f80041
Restore execution permissions after dune install.
kape1395 Jun 8, 2023
e14db51
Attempt to make 'opam install .' work.
kape1395 Jun 8, 2023
4cd3140
Make target to install opam deps.
kape1395 Jun 8, 2023
e3128d6
Cleanup.
kape1395 Jun 8, 2023
0eb54fb
Update src/params.ml
kape1395 Jun 14, 2023
94e1392
The old build system removed.
kape1395 Jun 14, 2023
f69774a
Split tlapm to a lib and exec, only execs support inline tests.
kape1395 Jun 14, 2023
f8b47eb
All the kaputt tests ported to ppx_inline_tests.
kape1395 Jun 15, 2023
5153bf3
Empty mlt (kaputt) files are not used anymore.
kape1395 Jun 15, 2023
60142c7
deps/z3: support different OS types.
kape1395 Jun 17, 2023
40c83f1
deps/z3: support different OS types.
kape1395 Jun 17, 2023
dff2a92
deps/ls4: support different OS types.
kape1395 Jun 17, 2023
1703499
deps/zenon: support different OS types.
kape1395 Jun 17, 2023
f0d05f9
deps/zenon: support different OS types.
kape1395 Jun 17, 2023
7823ec6
deps/zenon: support different OS types.
kape1395 Jun 17, 2023
76457b3
deps/isabelle: support different OS types.
kape1395 Jun 18, 2023
31b16ac
deps/isabelle: support different OS types.
kape1395 Jun 18, 2023
153684e
Remove a link to TLAPS in isabelle, it was broken before.
kape1395 Jun 18, 2023
b2ae611
Avoid using realpath.
kape1395 Jun 18, 2023
1351c23
Update package deps.
kape1395 Jun 18, 2023
b1c72f3
Github actions, partially updated.
kape1395 Jun 18, 2023
629bccd
Isabelle: set 64 bit arh explicitly.
kape1395 Jun 22, 2023
4536bfe
Take version from the dune's build-info.
kape1395 Jun 22, 2023
d00ee1d
Use `tlapm --version` for the GH release workflow.
kape1395 Jun 22, 2023
4a0e42b
Make build more portable.
kape1395 Jun 22, 2023
620b9dc
Run a short test during the release.
kape1395 Jun 24, 2023
41c36d1
Use an opam.template to customize the build step for opam.
kape1395 Jun 25, 2023
2bd1f82
Build/install procedures updated.
kape1395 Oct 13, 2023
8f5c5c8
Merge remote-tracking branch 'origin/main' into support-dune-build-deps
kape1395 Oct 13, 2023
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
39 changes: 16 additions & 23 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ jobs:
'2',
]
steps:
- name: Install deps
if: matrix.operating-system == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install --yes time
- name: Set up Python
uses: actions/setup-python@v2
with:
Expand All @@ -34,41 +39,29 @@ jobs:
- uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ env.OCAML_VERSION }}
# - uses: actions/cache@v3
# id: cache
# with:
# path: _build_cache
# key: ${{ runner.os }}_build_cache
- name: Build installer of TLAPS
run: |
eval $(opam env)
./configure
cd tools/installer
./tlaps-release.sh
- name: Define TLAPS-related env vars
run: |
python .github/workflows/setup_shell_env.py \
>> $GITHUB_ENV
- name: Run installer of TLAPS
run: |
./tools/installer/\
${{ env.INSTALLER }} -d .
- name: Install dependencies for testing
run: |
opam install kaputt
opam install ./ --deps-only --yes
make
make release
- name: Run a subset of `tlapm` tests
run: |
eval $(opam env)
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make test
make test-inline test-fast-basic
- name: Run all `tlapm` tests
if: >-
matrix.operating-system == 'ubuntu-latest' &&
matrix.ocaml-compiler == '2'
run: |
ls -lah
eval $(opam env)
ocaml --version
make
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH which tlapm
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH which zenon
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH tlapm --version
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make testall
make test
- name: Print Test Results
if: matrix.operating-system == 'ubuntu-latest'
run: |
cat test/tests.log
cat _build/default/test/tests.log
41 changes: 17 additions & 24 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and Package TLA Proof Manager
name: Build on PR
on:
pull_request:
push:
Expand All @@ -22,6 +22,11 @@ jobs:
'2',
]
steps:
- name: Install deps
if: matrix.operating-system == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install --yes time
- name: Set up Python
uses: actions/setup-python@v2
with:
Expand All @@ -38,38 +43,26 @@ jobs:
- uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ env.OCAML_VERSION }}
- name: Define TLAPS-related env vars
run: |
python .github/workflows/setup_shell_env.py \
>> $GITHUB_ENV
- uses: actions/cache@v2
id: cache
with:
path: ${{ env.DOWNLOADS }}
key: ${{ env.DOWNLOADS }}
# - uses: actions/cache@v3
# id: cache
# with:
# path: _build_cache
# key: ${{ runner.os }}_build_cache
- name: Build installer of TLAPS
run: |
eval $(opam env)
./configure
cd tools/installer
./tlaps-release.sh
- name: Run installer of TLAPS
run: |
./tools/installer/\
${{ env.INSTALLER }} -d .
- name: Install dependencies for testing
run: |
opam install kaputt
opam install ./ --deps-only --yes
make
make release
- name: Run a subset of `tlapm` tests
run: |
eval $(opam env)
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make test
make test-inline test-fast-basic
- name: Run all `tlapm` tests
run: |
eval $(opam env)
make
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make testall
make test
- name: Print Test Results
if: matrix.operating-system == 'ubuntu-latest'
run: |
cat test/tests.log
cat _build/default/test/tests.log
39 changes: 17 additions & 22 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ jobs:
'2',
]
steps:
- name: Install deps
if: matrix.operating-system == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install --yes time
- name: Set up Python
uses: actions/setup-python@v2
with:
Expand Down Expand Up @@ -100,32 +105,22 @@ jobs:
- uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ env.OCAML_VERSION }}
- name: Define TLAPS-related env vars
run: |
python .github/workflows/setup_shell_env.py \
>> $GITHUB_ENV
- uses: actions/cache@v2
id: cache
with:
path: ${{ env.DOWNLOADS }}
key: ${{ env.DOWNLOADS }}
# - uses: actions/cache@v3
# id: cache
# with:
# path: _build_cache
# key: ${{ runner.os }}_build_cache
- name: Build installer of TLAPS
run: |
eval $(opam env)
./configure
cd tools/installer
./tlaps-release.sh
- name: Run installer of TLAPS
run: |
./tools/installer/\
${{ env.INSTALLER }} -d .
- name: Install dependencies for testing
run: |
opam install kaputt
opam install ./ --deps-only --yes
make
make release
echo "TLAPM_RELEASE_FILE=$(make release-print-file)" >> "$GITHUB_ENV"
- name: Run a subset of `tlapm` tests
run: |
eval $(opam env)
PATH=$(pwd)/bin:$(pwd)/lib/tlaps/bin:$PATH make test
make test-inline test-fast-basic
- name: Upload Release Asset
if: matrix.ocaml-compiler == '2'
id: upload-release-asset
Expand All @@ -134,6 +129,6 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.get_release_info.outputs.upload_url }}
asset_path: tools/installer/${{ env.INSTALLER }}
asset_name: ${{ env.INSTALLER }}
asset_path: _build/${{ env.TLAPM_RELEASE_FILE }}
asset_name: ${{ env.TLAPM_RELEASE_FILE }}
asset_content_type: application/octet-stream
47 changes: 0 additions & 47 deletions .github/workflows/setup_shell_env.py

This file was deleted.

62 changes: 0 additions & 62 deletions .github/workflows/tlapm_version.py

This file was deleted.

26 changes: 3 additions & 23 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,15 @@
*.err
*.out
*.toolbox
*.tlacache
*.tlaps
*.log
.DS_Store

/_build/
/_build_cache/
/.vscode/

/Makefile
/config.log
/config.status
/src/alexer.ml
/src/config.ml
/src/load.ml
/src/tlapm.native
# directories created when building the installer
/tlaps-*-x86_64-linux-gnu/
/tlaps-*-i386-darwin/
# generated installer files
/tools/installer/tlaps-*-x86_64-linux-gnu-inst.bin
/tools/installer/tlaps-*-i386-darwin-inst.bin
# generated release scripts
/tools/installer/tlaps-release.sh
/tools/installer/tlaps-source-release.sh
# `tlapm` binary
tlapm
# installation for testing,
# created by the installer
/test/bin/
/test/lib/
/tlaps-*.tar.gz

__pycache__/
*.pyc
Loading