forked from leanprover/lean4
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge commit '0fcee100e7ea382069854d91e854265c56b54428' into simp_rfl…
…_thm
- Loading branch information
Showing
2,518 changed files
with
1,928,147 additions
and
1,365,482 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -114,7 +114,7 @@ jobs: | |
elif [[ "${{ github.event_name }}" != "pull_request" ]]; then | ||
check_level=1 | ||
else | ||
labels="$(gh api repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ github.event.pull_request.number }}) --jq '.labels'" | ||
labels="$(gh api repos/${{ github.repository_owner }}/${{ github.event.repository.name }}/pulls/${{ github.event.pull_request.number }} --jq '.labels')" | ||
if echo "$labels" | grep -q "release-ci"; then | ||
check_level=2 | ||
elif echo "$labels" | grep -q "merge-ci"; then | ||
|
@@ -176,7 +176,7 @@ jobs: | |
"check-level": 2, | ||
"CMAKE_PRESET": "debug", | ||
// exclude seriously slow tests | ||
"CTEST_OPTIONS": "-E 'interactivetest|leanpkgtest|laketest|benchtest'" | ||
"CTEST_OPTIONS": "-E 'interactivetest|leanpkgtest|laketest|benchtest|bv_bitblast_stress'" | ||
}, | ||
// TODO: suddenly started failing in CI | ||
/*{ | ||
|
@@ -204,7 +204,7 @@ jobs: | |
"os": "macos-14", | ||
"CMAKE_OPTIONS": "-DLEAN_INSTALL_SUFFIX=-darwin_aarch64", | ||
"release": true, | ||
"check-level": 1, | ||
"check-level": 0, | ||
"shell": "bash -euxo pipefail {0}", | ||
"llvm-url": "https://github.com/leanprover/lean-llvm/releases/download/15.0.1/lean-llvm-aarch64-apple-darwin.tar.zst", | ||
"prepare-llvm": "../script/prepare-llvm-macos.sh lean-llvm*", | ||
|
@@ -226,21 +226,19 @@ jobs: | |
}, | ||
{ | ||
"name": "Linux aarch64", | ||
"os": "ubuntu-latest", | ||
"os": "nscloud-ubuntu-22.04-arm64-4x8", | ||
"CMAKE_OPTIONS": "-DUSE_GMP=OFF -DLEAN_INSTALL_SUFFIX=-linux_aarch64", | ||
"release": true, | ||
"check-level": 2, | ||
"cross": true, | ||
"cross_target": "aarch64-unknown-linux-gnu", | ||
"shell": "nix develop .#oldGlibcAArch -c bash -euxo pipefail {0}", | ||
"llvm-url": "https://github.com/leanprover/lean-llvm/releases/download/15.0.1/lean-llvm-x86_64-linux-gnu.tar.zst https://github.com/leanprover/lean-llvm/releases/download/15.0.1/lean-llvm-aarch64-linux-gnu.tar.zst", | ||
"prepare-llvm": "../script/prepare-llvm-linux.sh lean-llvm-aarch64-* lean-llvm-x86_64-*" | ||
"llvm-url": "https://github.com/leanprover/lean-llvm/releases/download/15.0.1/lean-llvm-aarch64-linux-gnu.tar.zst", | ||
"prepare-llvm": "../script/prepare-llvm-linux.sh lean-llvm*" | ||
}, | ||
{ | ||
"name": "Linux 32bit", | ||
"os": "ubuntu-latest", | ||
// Use 32bit on stage0 and stage1 to keep oleans compatible | ||
"CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86", | ||
"CMAKE_OPTIONS": "-DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_MMAP=OFF -DUSE_GMP=OFF -DLEAN_EXTRA_CXX_FLAGS='-m32' -DLEANC_OPTS='-m32' -DMMAP=OFF -DLEAN_INSTALL_SUFFIX=-linux_x86 -DCMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/ -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/", | ||
"cmultilib": true, | ||
"release": true, | ||
"check-level": 2, | ||
|
@@ -251,15 +249,15 @@ jobs: | |
"name": "Web Assembly", | ||
"os": "ubuntu-latest", | ||
// Build a native 32bit binary in stage0 and use it to compile the oleans and the wasm build | ||
"CMAKE_OPTIONS": "-DCMAKE_C_COMPILER_WORKS=1 -DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_CMAKE_CXX_COMPILER=clang++ -DSTAGE0_CMAKE_C_COMPILER=clang -DSTAGE0_CMAKE_EXECUTABLE_SUFFIX=\"\" -DUSE_GMP=OFF -DMMAP=OFF -DSTAGE0_MMAP=OFF -DCMAKE_AR=../emsdk/emsdk-main/upstream/emscripten/emar -DCMAKE_TOOLCHAIN_FILE=../emsdk/emsdk-main/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DLEAN_INSTALL_SUFFIX=-linux_wasm32", | ||
"CMAKE_OPTIONS": "-DCMAKE_C_COMPILER_WORKS=1 -DSTAGE0_USE_GMP=OFF -DSTAGE0_LEAN_EXTRA_CXX_FLAGS='-m32' -DSTAGE0_LEANC_OPTS='-m32' -DSTAGE0_CMAKE_CXX_COMPILER=clang++ -DSTAGE0_CMAKE_C_COMPILER=clang -DSTAGE0_CMAKE_EXECUTABLE_SUFFIX=\"\" -DUSE_GMP=OFF -DMMAP=OFF -DSTAGE0_MMAP=OFF -DCMAKE_AR=../emsdk/emsdk-main/upstream/emscripten/emar -DCMAKE_TOOLCHAIN_FILE=../emsdk/emsdk-main/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DLEAN_INSTALL_SUFFIX=-linux_wasm32 -DSTAGE0_CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu/", | ||
"wasm": true, | ||
"cmultilib": true, | ||
"release": true, | ||
"check-level": 2, | ||
"cross": true, | ||
"shell": "bash -euxo pipefail {0}", | ||
// Just a few selected tests because wasm is slow | ||
"CTEST_OPTIONS": "-R \"leantest_1007\\.lean|leantest_Format\\.lean|leanruntest\\_1037.lean|leanruntest_ac_rfl\\.lean\"" | ||
"CTEST_OPTIONS": "-R \"leantest_1007\\.lean|leantest_Format\\.lean|leanruntest\\_1037.lean|leanruntest_ac_rfl\\.lean|leanruntest_tempfile.lean\\.|leanruntest_libuv\\.lean\"" | ||
} | ||
]; | ||
console.log(`matrix:\n${JSON.stringify(matrix, null, 2)}`) | ||
|
@@ -298,12 +296,12 @@ jobs: | |
uses: msys2/setup-msys2@v2 | ||
with: | ||
msystem: clang64 | ||
# `:p` means prefix with appropriate msystem prefix | ||
pacboy: "make python cmake:p clang:p ccache:p gmp:p git zip unzip diffutils binutils tree zstd:p tar" | ||
# `:` means do not prefix with msystem | ||
pacboy: "make: python: cmake clang ccache gmp libuv git: zip: unzip: diffutils: binutils: tree: zstd tar:" | ||
if: runner.os == 'Windows' | ||
- name: Install Brew Packages | ||
run: | | ||
brew install ccache tree zstd coreutils gmp | ||
brew install ccache tree zstd coreutils gmp libuv | ||
if: runner.os == 'macOS' | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
@@ -318,7 +316,7 @@ jobs: | |
git fetch --depth=1 origin ${{ github.sha }} | ||
git checkout FETCH_HEAD flake.nix flake.lock | ||
if: github.event_name == 'pull_request' | ||
# (needs to be after "Checkout" so files don't get overriden) | ||
# (needs to be after "Checkout" so files don't get overridden) | ||
- name: Setup emsdk | ||
uses: mymindstorm/setup-emsdk@v12 | ||
with: | ||
|
@@ -327,17 +325,19 @@ jobs: | |
if: matrix.wasm | ||
- name: Install 32bit c libs | ||
run: | | ||
sudo dpkg --add-architecture i386 | ||
sudo apt-get update | ||
sudo apt-get install -y gcc-multilib g++-multilib ccache | ||
sudo apt-get install -y gcc-multilib g++-multilib ccache libuv1-dev:i386 | ||
if: matrix.cmultilib | ||
- name: Cache | ||
uses: actions/cache@v3 | ||
uses: actions/cache@v4 | ||
with: | ||
path: .ccache | ||
key: ${{ matrix.name }}-build-v3-${{ github.event.pull_request.head.sha }} | ||
# fall back to (latest) previous cache | ||
restore-keys: | | ||
${{ matrix.name }}-build-v3 | ||
save-always: true | ||
# open nix-shell once for initial setup | ||
- name: Setup | ||
run: | | ||
|
@@ -382,6 +382,12 @@ jobs: | |
make -C build install | ||
- name: Check Binaries | ||
run: ${{ matrix.binary-check }} lean-*/bin/* || true | ||
- name: Count binary symbols | ||
run: | | ||
for f in lean-*/bin/*; do | ||
echo "$f: $(nm $f | grep " T " | wc -l) exported symbols" | ||
done | ||
if: matrix.name == 'Windows' | ||
- name: List Install Tree | ||
run: | | ||
# omit contents of Init/, ... | ||
|
@@ -426,7 +432,7 @@ jobs: | |
if: matrix.test-speedcenter | ||
- name: Check Stage 3 | ||
run: | | ||
make -C build -j$NPROC stage3 | ||
make -C build -j$NPROC check-stage3 | ||
if: matrix.test-speedcenter | ||
- name: Test Speedcenter Benchmarks | ||
run: | | ||
|
@@ -446,7 +452,7 @@ jobs: | |
run: ccache -s | ||
|
||
# This job collects results from all the matrix jobs | ||
# This can be made the “required” job, instead of listing each | ||
# This can be made the "required" job, instead of listing each | ||
# matrix job separately | ||
all-done: | ||
name: Build matrix complete | ||
|
@@ -455,12 +461,24 @@ jobs: | |
# mark as merely cancelled not failed if builds are cancelled | ||
if: ${{ !cancelled() }} | ||
steps: | ||
- if: ${{ contains(needs.*.result, 'failure') && github.repository == 'leanprover/lean4' && github.ref_name == 'master' }} | ||
uses: zulip/github-actions-zulip/send-message@v1 | ||
with: | ||
api-key: ${{ secrets.ZULIP_BOT_KEY }} | ||
email: "[email protected]" | ||
organization-url: "https://lean-fro.zulipchat.com" | ||
to: "infrastructure" | ||
topic: "Github actions" | ||
type: "stream" | ||
content: | | ||
A build of `${{ github.ref_name }}`, triggered by event `${{ github.event_name }}`, [failed](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}). | ||
- if: contains(needs.*.result, 'failure') | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
core.setFailed('Some jobs failed') | ||
# This job creates releases from tags | ||
# (whether they are "unofficial" releases for experiments, or official releases when the tag is "v" followed by a semver string.) | ||
# We do not attempt to automatically construct a changelog here: | ||
|
@@ -533,3 +551,8 @@ jobs: | |
gh workflow -R leanprover/release-index run update-index.yml | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.RELEASE_INDEX_TOKEN }} | ||
- name: Update toolchain on mathlib4's nightly-testing branch | ||
run: | | ||
gh workflow -R leanprover-community/mathlib4 run nightly_bump_toolchain.yml | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.MATHLIB4_BOT }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Jira sync | ||
|
||
on: | ||
issues: | ||
types: [closed] | ||
|
||
jobs: | ||
jira-sync: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Move Jira issue to Done | ||
env: | ||
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }} | ||
JIRA_USERNAME: ${{ secrets.JIRA_USERNAME }} | ||
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} | ||
run: | | ||
issue_number=${{ github.event.issue.number }} | ||
jira_issue_key=$(curl -s -u "${JIRA_USERNAME}:${JIRA_API_TOKEN}" \ | ||
-X GET -H "Content-Type: application/json" \ | ||
"${JIRA_BASE_URL}/rest/api/2/search?jql=summary~\"${issue_number}\"" | \ | ||
jq -r '.issues[0].key') | ||
if [ -z "$jira_issue_key" ]; then | ||
exit | ||
fi | ||
curl -s -u "${JIRA_USERNAME}:${JIRA_API_TOKEN}" \ | ||
-X POST -H "Content-Type: application/json" \ | ||
--data "{\"transition\": {\"id\": \"41\"}}" \ | ||
"${JIRA_BASE_URL}/rest/api/2/issue/${jira_issue_key}/transitions" | ||
echo "Moved Jira issue ${jira_issue_key} to Done" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.