mirror of
https://github.com/Z3Prover/z3
synced 2026-06-26 10:28:48 +00:00
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/releases">actions/cache's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update packages, migrate to ESM by <a href="https://github.com/Samirat"><code>@Samirat</code></a> in <a href="https://redirect.github.com/actions/cache/pull/1760">actions/cache#1760</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/cache/compare/v5...v6.0.0">https://github.com/actions/cache/compare/v5...v6.0.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache's changelog</a>.</em></p> <blockquote> <h3>6.0.0</h3> <ul> <li>Updated <code>@actions/cache</code> to ^6.0.1, <code>@actions/core</code> to ^3.0.1, <code>@actions/exec</code> to ^3.0.0, <code>@actions/io</code> to ^3.0.2</li> <li>Migrated to ESM module system</li> <li>Upgraded Jest to v30 and test infrastructure to be ESM compatible</li> </ul> <h3>5.0.4</h3> <ul> <li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar patterns)</li> <li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb protection, header validation fixes)</li> <li>Bump <code>fast-xml-parser</code> to v5.5.6</li> </ul> <h3>5.0.3</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li> <li>Bump <code>@actions/core</code> to v2.0.3</li> </ul> <h3>5.0.2</h3> <ul> <li>Bump <code>@actions/cache</code> to v5.0.3 <a href="https://redirect.github.com/actions/cache/pull/1692">#1692</a></li> </ul> <h3>5.0.1</h3> <ul> <li>Update <code>@azure/storage-blob</code> to <code>^12.29.1</code> via <code>@actions/cache@5.0.1</code> <a href="https://redirect.github.com/actions/cache/pull/1685">#1685</a></li> </ul> <h3>5.0.0</h3> <blockquote> <p>[!IMPORTANT] <code>actions/cache@v5</code> runs on the Node.js 24 runtime and requires a minimum Actions Runner version of <code>2.327.1</code>. If you are using self-hosted runners, ensure they are updated before upgrading.</p> </blockquote> <h3>4.3.0</h3> <ul> <li>Bump <code>@actions/cache</code> to <a href="https://redirect.github.com/actions/toolkit/pull/2132">v4.1.0</a></li> </ul> <h3>4.2.4</h3> <ul> <li>Bump <code>@actions/cache</code> to v4.0.5</li> </ul> <h3>4.2.3</h3> <ul> <li>Bump <code>@actions/cache</code> to v4.0.3 (obfuscates SAS token in debug logs for cache entries)</li> </ul> <h3>4.2.2</h3> <ul> <li>Bump <code>@actions/cache</code> to v4.0.2</li> </ul> <h3>4.2.1</h3> <ul> <li>Bump <code>@actions/cache</code> to v4.0.1</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="2c8a9bd745"><code>2c8a9bd</code></a> Merge pull request <a href="https://redirect.github.com/actions/cache/issues/1760">#1760</a> from actions/samirat/esm_migration_and_package_update</li> <li><a href="e9b91fdc3f"><code>e9b91fd</code></a> Prettier fixes</li> <li><a href="e4884b8ff7"><code>e4884b8</code></a> Rebuild dist</li> <li><a href="10baf0191a"><code>10baf01</code></a> Fixed licenses</li> <li><a href="e39b386c90"><code>e39b386</code></a> Fix test mock return order</li> <li><a href="b692820337"><code>b692820</code></a> PR feedback</li> <li><a href="60749128a4"><code>6074912</code></a> Rebuild dist bundles as ESM to match type:module</li> <li><a href="5a912e8b4a"><code>5a912e8</code></a> Fix lint and jest issues</li> <li><a href="b9bf592b98"><code>b9bf592</code></a> Update documentation for v6 release</li> <li><a href="80f777761d"><code>80f7777</code></a> Update packages, migrate to ESM</li> <li>See full diff in <a href="https://github.com/actions/cache/compare/v5.0.5...v6.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
79 lines
2.1 KiB
YAML
79 lines
2.1 KiB
YAML
name: Build and Cache Z3
|
|
|
|
on:
|
|
# Allow manual trigger
|
|
workflow_dispatch:
|
|
# Run on schedule to keep cache fresh (daily at 2 AM UTC)
|
|
schedule:
|
|
- cron: '0 2 * * *'
|
|
# Run on pushes to main to update cache with latest changes
|
|
push:
|
|
branches: [ "master", "main" ]
|
|
# Make this callable as a reusable workflow
|
|
workflow_call:
|
|
outputs:
|
|
cache-key:
|
|
description: "The cache key for the built Z3 binary"
|
|
value: ${{ jobs.build-z3.outputs.cache-key }}
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build-z3:
|
|
name: "Build Z3 for caching"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 90
|
|
outputs:
|
|
cache-key: ${{ steps.cache-key.outputs.key }}
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v7.0.0
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.x'
|
|
|
|
- name: Generate cache key
|
|
id: cache-key
|
|
run: |
|
|
# Create a cache key based on git SHA and relevant source files
|
|
echo "key=z3-build-${{ runner.os }}-${{ github.sha }}" >> $GITHUB_OUTPUT
|
|
echo "fallback-key=z3-build-${{ runner.os }}-" >> $GITHUB_OUTPUT
|
|
|
|
- name: Restore or create cache
|
|
id: cache-z3
|
|
uses: actions/cache@v6.0.0
|
|
with:
|
|
path: |
|
|
build/z3
|
|
build/libz3.so
|
|
build/libz3.a
|
|
build/*.so
|
|
build/*.a
|
|
build/python
|
|
key: ${{ steps.cache-key.outputs.key }}
|
|
restore-keys: |
|
|
z3-build-${{ runner.os }}-
|
|
|
|
- name: Configure Z3
|
|
if: steps.cache-z3.outputs.cache-hit != 'true'
|
|
run: python scripts/mk_make.py
|
|
|
|
- name: Build Z3
|
|
if: steps.cache-z3.outputs.cache-hit != 'true'
|
|
run: |
|
|
cd build
|
|
make -j$(nproc)
|
|
|
|
- name: Display build info
|
|
run: |
|
|
echo "Cache key: ${{ steps.cache-key.outputs.key }}"
|
|
echo "Build directory contents:"
|
|
ls -lh build/ || echo "Build directory not found"
|
|
if [ -f build/z3 ]; then
|
|
echo "Z3 version:"
|
|
build/z3 --version
|
|
fi
|