Bump version #365
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: Install & test Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
version: | |
- '1.6' # LTS | |
- '1' # current stable | |
- 'nightly' | |
os: | |
- ubuntu-latest | |
- macOS-latest | |
- windows-latest | |
arch: | |
- x64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: julia-actions/setup-julia@latest | |
with: | |
version: ${{ matrix.version }} | |
arch: ${{ matrix.arch }} | |
show-versioninfo: ${{ matrix.version == 'nightly' }} | |
- uses: julia-actions/cache@v1 | |
- uses: julia-actions/julia-buildpkg@latest | |
# Revise's tests need significant customization | |
# Populate the precompile cache with an extraneous file, to catch issues like in #460 | |
- name: populate_compiled | |
if: ${{ matrix.os != 'windows-latest' }} | |
run: julia -e 'include(joinpath("test", "populate_compiled.jl"))' | |
- uses: julia-actions/julia-runtest@latest | |
- name: filewatching | |
if: ${{ matrix.os == 'ubuntu-latest' && matrix.version != '1.0' }} | |
run: julia --project -e 'using Pkg; Pkg.build(); Pkg.test(; test_args=["REVISE_TESTS_WATCH_FILES"], coverage=true)' | |
- name: extra tests | |
if: ${{ matrix.os != 'windows-latest' && matrix.version != '1.0' }} | |
run: | | |
echo $TERM | |
# Tests for when using polling | |
echo "Polling" | |
julia --project --code-coverage=user -e ' | |
ENV["JULIA_REVISE_POLL"]="1" | |
using Pkg, Revise | |
include(joinpath(dirname(pathof(Revise)), "..", "test", "polling.jl")) | |
' | |
# The REPL wasn't initialized, so the "Methods at REPL" tests didn't run. Pick those up now. | |
echo "Methods at REPL" | |
TERM="xterm" julia --project --code-coverage=user -e ' | |
using InteractiveUtils, REPL, Revise | |
@async(Base.run_main_repl(true, true, false, true, false)) | |
while !isdefined(Base, :active_repl_backend) sleep(0.1) end | |
pushfirst!(Base.active_repl_backend.ast_transforms, Revise.revise_first) | |
include(joinpath("test", "runtests.jl")) | |
if Base.VERSION.major == 1 && Base.VERSION.minor >= 9 | |
REPL.eval_user_input(:(exit()), Base.active_repl_backend, Main) | |
else | |
REPL.eval_user_input(:(exit()), Base.active_repl_backend) | |
end' "Methods at REPL" | |
# Tests for out-of-process updates to manifest | |
echo "Switch version" | |
bash test/envs/use_exputils/setup.sh | |
julia --project --code-coverage=user test/envs/use_exputils/switch_version.jl | |
# We also need to pick up the Git tests, but for that we need to `dev` the package | |
echo "Git tests" | |
julia --code-coverage=user -e ' | |
using Pkg; Pkg.develop(PackageSpec(path=".")) | |
include(joinpath("test", "runtests.jl")) | |
' "Git" | |
# Check #664 | |
echo "Test #664" | |
TERM="xterm" julia --startup-file=no --project test/start_late.jl | |
# Check #697 | |
echo "Test #697" | |
dn=$(mktemp -d) | |
ver=$(julia -e 'println(VERSION)') | |
curl -s -L https://github.com/JuliaLang/julia/archive/refs/tags/v$ver.tar.gz --output - | tar -xz -C $dn | |
julia --project test/juliadir.jl "$dn/julia-$ver" | |
# # Running out of inotify storage (see #26) | |
# - name: inotify | |
# if: ${{ matrix.os == 'ubuntu-latest' }} | |
# run: echo 4 | sudo tee -a /proc/sys/fs/inotify/max_user_watches; julia --project --code-coverage=user -e 'using Pkg, Revise; cd(joinpath(dirname(pathof(Revise)), "..", "test")); include("inotify.jl")' | |
- uses: julia-actions/julia-processcoverage@latest | |
- uses: codecov/codecov-action@v3 | |
with: | |
file: lcov.info |