wip: make Cthulhu cache CodeInstance
-based
#1369
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
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
tags: '*' | |
jobs: | |
test: | |
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- version: '1' # current stable | |
os: ubuntu-latest | |
arch: x64 | |
- version: '1.10' # lowest version supported | |
os: ubuntu-latest | |
arch: x64 | |
- version: '1.12-nightly' # next release | |
os: ubuntu-latest | |
arch: x64 | |
- version: 'nightly' # dev | |
os: ubuntu-latest | |
arch: x64 | |
- version: '1' # x86 ubuntu | |
os: ubuntu-latest | |
arch: x86 | |
- version: '1' # x86 windows | |
os: windows-latest | |
arch: x86 | |
- version: '1' # x64 windows | |
os: windows-latest | |
arch: x64 | |
- version: '1' # x64 macOS | |
os: macos-latest | |
arch: x64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
- uses: actions/cache@v4 | |
env: | |
cache-name: cache-artifacts | |
with: | |
path: ~/.julia/artifacts | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-test- | |
${{ runner.os }}- | |
- name: dev TypedSyntax # dev TypedSyntax (a subdir package) since the latest version may not be registered yet | |
shell: julia --color=yes --project=. {0} # this is necessary for the next command to work on Windows | |
run: 'using Pkg; Pkg.develop(path=joinpath(pwd(), "TypedSyntax"))' | |
- uses: julia-actions/julia-buildpkg@v1 | |
- uses: julia-actions/julia-runtest@v1 | |
with: | |
check_bounds: 'auto' | |
coverage: 'false' | |
# - name: Coverage off # `empty_func` test doesn't work as intended with `coverage=true` | |
# if: ${{ matrix.os == 'ubuntu-latest' }} | |
# run: julia --project -e 'using Pkg; Pkg.test("Cthulhu"; coverage=false)' | |
# - name: Bounds/DCE check | |
# if: ${{ matrix.os == 'ubuntu-latest' }} | |
# run: julia --project --code-coverage -e 'using Pkg; Pkg.add(["DeepDiffs", "PerformanceTestTools", "Revise", "StaticArrays"]); cd("test"); include("runtests.jl")' | |
# - uses: julia-actions/julia-processcoverage@v1 | |
# - uses: codecov/codecov-action@v1 | |
# with: | |
# file: lcov.info |