Skip to content

Commit

Permalink
Squashed 'packages/TestEnv/' changes from 14dd0d9..54d3970
Browse files Browse the repository at this point in the history
54d3970 Add support for filter callback
98be1ae Fix error reporting
31a012d Update README
f70ab9b Update min bounds
ab926ea Bump a min version
a0ac63f Merge pull request #8 from julia-vscode:capture-output
f633cfd Capture output
8c55c09 Add a TODO
1519678 Merge pull request #2 from julia-vscode:timeout
cfede5d Add timeout option
7829a41 Add example
557f142 Export api
999d777 Fix a bug
2deebd2 Update Project.toml
389eb9f Merge commit '5891ea97cdda63931f7d911d9c779d00eaf4f3bf'
5891ea9 Squashed 'packages/TestItemServer/' changes from 2303253b..a31cd339
053086c Remove outdated stuff
f0781af Remove task for TestItemDetection
86019d7 Remove TestItemDetection
5a9e907 Merge pull request #1 from julia-vscode:testsetup
1fb09c6 Add support for testsetup
15045f9 Squashed 'packages/TestItemServer/' changes from 943ad803..2303253b
1a43db8 Merge commit '15045f9e6353ee176580c570a0a822b224591f45'
da61070 Remove obsolte subtrees
91518b2 Fix tests
3b2a798 Streamline code
d15e779 Progress
04d52d1 Merge commit '854f65765723353f9863780e551424926e9804e0'
854f657 Squashed 'packages/TestItemDetection/' changes from 2c59c96c..a6689392
e7878ef Fix package detection
58d3200 Add an initial implementation
e2986e3 Squashed 'packages/TestItemServer/' changes from ba3fb7ae..943ad803
5d660ba Merge commit 'e2986e3ded3712647c6c570e41d0217bc1edbf6a'
a6400f5 Merge commit '2d33cf676f724ef477dd188980701ae81aa832b0' as 'packages/ProgressMeter'
2d33cf6 Squashed 'packages/ProgressMeter/' content from commit 83e619fa
48d64e0 Add update tasks
3ba1896 Add core structure
3e21e3a Squashed 'packages/TestItemServer/' content from commit ba3fb7ae
a637fc0 Merge commit '3e21e3aaf5de4a7494afb460306b01589bec5491' as 'packages/TestItemServer'
86c682d Merge commit 'ec7d470c1ecd9b939821fcd6a1501a93ae1d8898' as 'packages/Revise'
ec7d470 Squashed 'packages/Revise/' content from commit f5f8c6f1
6c050aa Merge commit '6febb6288f8837c14b2b8d3520716a614ce91a35' as 'packages/LoweredCodeUtils'
6febb62 Squashed 'packages/LoweredCodeUtils/' content from commit 1af0a400
7c14938 Merge commit '13830bf1b09b13f339c023dcc7cd9dd2b1da88f7' as 'packages/JuliaInterpreter'
13830bf Squashed 'packages/JuliaInterpreter/' content from commit b2ebd693
10279b4 Merge commit '7623b5194d6150d773f98dc6df6f7fbe7a805e91' as 'packages/JSONRPC'
7623b51 Squashed 'packages/JSONRPC/' content from commit c03664c
5456c81 Merge commit 'e58d29905db6446d461f947fff4a9a282574b46f' as 'packages/CodeTracking'
e58d299 Squashed 'packages/CodeTracking/' content from commit c3195cd
6d418e5 Merge commit 'e825c17e17e35809bcfad7a424f655d5e6b0ed09' as 'packages/OrderedCollections'
e825c17 Squashed 'packages/OrderedCollections/' content from commit afcc015
e64b3ae Merge commit '9a0feac9c9edd34e9a34ee3b6948dfc80df8aaef' as 'packages/JSON'
9a0feac Squashed 'packages/JSON/' content from commit 4b3913d
cba9511 Merge commit 'd2b904c6f9a4650596b584333a9a34cc56ff18aa' as 'packages/URIParser'
d2b904c Squashed 'packages/URIParser/' content from commit 3b90549
af7056c Merge commit 'b69e9bc1325881f372570c8201815276ccfc3d1f' as 'packages/TestEnv'
b69e9bc Squashed 'packages/TestEnv/' content from commit 14dd0d9
449330b Merge commit 'f9b4d55828bf592328ceaf3acf7a3a3673535b30' as 'packages/Tokenize'
f9b4d55 Squashed 'packages/Tokenize/' content from commit 8d2aa01
42850af Squashed 'packages/TestItemDetection/' content from commit 2c59c96
1540301 Merge commit '42850af80e5501db308ce93de723eba20312f977' as 'packages/TestItemDetection'
955755b Merge commit '5e14a36efe524bb2a77795ca17fda3e67f76a6a7' as 'packages/CSTParser'
5e14a36 Squashed 'packages/CSTParser/' content from commit 0d68ad7
3142930 Add empty readme
REVERT: 14dd0d9 Convert to standard package layout
REVERT: b8046cf Merge pull request #40 from kimlaberinto/fix-typo
REVERT: 97ba0d7 Fix typo in README
REVERT: 977633a Merge pull request #29 from kdheepak/patch-1
REVERT: 6551580 Fix typo in README
REVERT: 1daede9 Merge pull request #25 from JuliaTesting/ox/cover14
REVERT: c2c1cd4 Change cover re:1.4
REVERT: 11cb5c6 Merge pull request #17 from JuliaTesting/ox/link
REVERT: 2745986 Merge pull request #18 from nickrobinson251/patch-2
REVERT: c94b26e Remove user id from discourse link
REVERT: 636cd00 Make example consistent
REVERT: 101fb44 Cross link to the Discourse Release Announcement
REVERT: 1735d11 Merge pull request #16 from nickrobinson251/patch-1
REVERT: 7989762 Add note on how to return to previous env
REVERT: dac3736 Answer in readme: What should I put in my Project.toml `[compat]` section
REVERT: 68d7457 Project.toml for tagbot to use
REVERT: 6ab0496 Create TagBot.yml
REVERT: e9ddd10 improve top exampke
REVERT: 3290dca crosslink .2
REVERT: a9db410 Mention 1.3 branch
REVERT: e6050a5 Make cover-sheet branch that has no code
REVERT: a5ebfaa Merge pull request #6 from Wikunia/patch-1
REVERT: a8d2621 Typo an -> can
REVERT: ce53a7b Merge pull request #1 from JuliaTesting/ox/doit
REVERT: c84a676 1.7-nightly
REVERT: 7f66a78 add 1.7 tests
REVERT: 3756b34 add readme
REVERT: 67a5f06 Restrict to 1.4+ (for now)
REVERT: fe7b59d Make work in 1.7
REVERT: aa869e9 try and work on more versions of julia
REVERT: afaffe4 Test test/project.toml
REVERT: 4e33633 make work to just activate
REVERT: ca43fab Bring over  LICENSE
REVERT: 9bcb6be redo everything
REVERT: e2f33d2 initial setup
REVERT: 7c15693 Tidy up imports
REVERT: 199f711 Update runner command
REVERT: c9c659a Fix test environment dependencies
REVERT: 858db9e Refactor runner.jl
REVERT: 6f5ae4c Refactor tests
REVERT: e60e759 Make ReportingTestSet behaviour consistent
REVERT: a7dc1e4 Modify runner to distinguish between exit codes
REVERT: e197bdb Add GitHub Pages documentation and update docstrings
REVERT: 2341207 Update have_color check to work with julia 1.5
REVERT: 2194840 Add logfilename argument
REVERT: 5aa985f Make changes for code coverage
REVERT: d28f51c Add test_args and julia_args to test()
REVERT: 3ca38e8 Use sandboxes to load project and test dependencies
REVERT: 578a88d Merge pull request #13 from mmiller-max/mm/console-output
REVERT: 1e69dde Display normal test console output (#1)
REVERT: cd417dc Merge pull request #15 from bauglir/fix-test-behavior-without-positional-arguments
REVERT: 62eff55 Test active project when calling `test` without positional arguments
REVERT: f0be51a Merge pull request #12 from bauglir/fix-runner-for-activated-projects
REVERT: 3d79bba Fix runner for activated projects
REVERT: dd60a4b Merge pull request #7 from mmiller-max/feature/version-1-compat
REVERT: ac56c17 Change comments and formatting
REVERT: 1c9d6d7 Remove debug logging and update reporttest.jl with Windows fix
REVERT: 9db65e5 Use repr for paths
REVERT: 4371021 Add more info statements
REVERT: 238d28e Add info statements to debug windows CI
REVERT: c7a6f79 Enable runner to work with all V1.0.5+ versions
REVERT: a4c0a49 Stop printing out of ProcessFailedException
REVERT: 32a7dc5 Add extra cmd inputs from Pkg.test
REVERT: a906de3 Update runner
REVERT: a0a4474 Remove old imports and update test
REVERT: d195a0a Replace print_with_colour
REVERT: 5c0ce2b =Separate out error checking and failing functionality
REVERT: 4e301ac =fixed package run in cases of actually having test dependencies
REVERT: 8f5a86c =added function to run on packages
REVERT: 060bb52 initial empty commit

git-subtree-dir: packages/TestEnv
git-subtree-split: 54d3970
  • Loading branch information
davidanthoff committed Jul 3, 2024
1 parent b69e9bc commit f2e6c0c
Show file tree
Hide file tree
Showing 367 changed files with 33,563 additions and 130 deletions.
9 changes: 1 addition & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1 @@
*.DS_Store
*.jl.cov
*.jl.*.cov
*.jl.mem
Manifest.toml
docs/build
docs/site
.vscode/settings.json
.vscode/settings.json
91 changes: 91 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Pull latest version of CodeTracking",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/CodeTracking", "https://github.com/timholy/CodeTracking.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of CSTParser",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/CSTParser", "https://github.com/julia-vscode/CSTParser.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of JSON",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/JSON", "https://github.com/JuliaIO/JSON.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of JSONRPC",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/JSONRPC", "https://github.com/julia-vscode/JSONRPC.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of JuliaInterpreter",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/JuliaInterpreter", "https://github.com/JuliaDebug/JuliaInterpreter.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of LoweredCodeUtils",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/LoweredCodeUtils", "https://github.com/JuliaDebug/LoweredCodeUtils.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of OrderedCollections",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/OrderedCollections", "https://github.com/JuliaCollections/OrderedCollections.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of Revise",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/Revise", "https://github.com/timholy/Revise.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of TestEnv",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/TestEnv", "https://github.com/davidanthoff/TestEnv.jl", "main", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of TestItemServer",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/TestItemServer", "https://github.com/julia-vscode/TestItemServer.jl", "main", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of Tokenize",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/Tokenize", "https://github.com/JuliaLang/Tokenize.jl", "master", "--squash"],
"problemMatcher": []
},
{
"label": "Pull latest version of URIParser",
"type": "process",
"command": "git",
"args": ["subtree", "pull", "--prefix", "packages/URIParser", "https://github.com/JuliaWeb/URIParser.jl", "master", "--squash"],
"problemMatcher": []
}
]
}
62 changes: 17 additions & 45 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,49 +1,21 @@
The TestEnv.jl package is licensed under the MIT "Expat" License:
MIT License

> Copyright (c) 2018-2021: Lyndon White and Malcolm Miller.
>
> Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software and associated documentation files (the "Software"), to deal
> in the Software without restriction, including without limitation the rights
> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> copies of the Software, and to permit persons to whom the Software is
> furnished to do so, subject to the following conditions:
>
> The above copyright notice and this permission notice shall be included in all
> copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.
>
Copyright (c) 2023 David Anthoff

Some of the code (in particular /src/runner.jl), is based on code from the Julia Base library https://github.com/JuliaLang/julia
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

> Copyright (c) 2009-2021: Jeff Bezanson, Stefan Karpinski, Viral B. Shah,
> and other contributors:
>
> https://github.com/JuliaLang/julia/contributors
>
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
> "Software"), to deal in the Software without restriction, including
> without limitation the rights to use, copy, modify, merge, publish,
> distribute, sublicense, and/or sell copies of the Software, and to
> permit persons to whom the Software is furnished to do so, subject to
> the following conditions:
>
> The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.
>
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
38 changes: 24 additions & 14 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
name = "TestEnv"
uuid = "1e6cf692-eddd-4d53-88a5-2d735e33781b"
version = "2.0.0"
name = "TestItemRunner2"
uuid = "e1dee961-0fd3-483e-9ab1-c4c3c701c341"
authors = ["David Anthoff <[email protected]>"]
version = "0.1.0-DEV"

[deps]
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

[compat]
ChainRulesCore = "=1.0.2"
MCMCDiagnosticTools = "=0.1.0"
YAXArrays = "0.1.3"
julia = "1"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
JuliaWorkspaces = "e554591c-7f10-434f-9f27-2097f62a04fd"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
JSONRPC = "b9b8584e-8fd3-41f9-ad0c-7255d428e418"
Mmap = "a63ad114-7e13-5084-954f-fe012c677804"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
Sockets = "6462fe0b-24de-5631-8697-dd941f90decc"
TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
Unicode = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

[extras]
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
MCMCDiagnosticTools = "be115224-59cd-429b-ad48-344e309966f0"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
YAXArrays = "c21b50f5-aa40-41ea-b809-c0f5e47bfa5c"

[compat]
julia = "1"
JuliaWorkspaces = "1.1.2"
JSON = "0.21"
JSONRPC = "1.3.6"
ProgressMeter = "1.7"

[targets]
test = ["ChainRulesCore", "MCMCDiagnosticTools", "Test", "YAXArrays"]
test = ["Test"]
82 changes: 19 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,76 +1,32 @@
# TestEnv
# TestItemRunner2

[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)
[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)


This is a 1-function package: `TestEnv.activate`.
It lets you activate the test enviroment from a given package.
Just like `Pkg.activate` lets you activate it's main enviroment.


Consider for example **ChainRules.jl** has as a test-only dependency of **ChainRulesTestUtils.jl**,
not a main dependency
Example:

```julia
pkg> activate ~/.julia/dev/ChainRules
using TestItemRunner2

julia> using TestEnv;

julia> TestEnv.activate();

julia> using ChainRulesTestUtils
run_tests("/users/foo/.julia/dev/InlineStrings")
```

Use `Pkg.activate` to re-activate the previous environment, e.g. `Pkg.activate("~/.julia/dev/ChainRules")`.

You can also pass in the name of a package, to activate that package and it's test dependencies:
`TestEnv.activate("Javis")` for example would activate Javis.jl's test environment.
## API

Finally you can pass in a function to run in this environment.
```julia
using TestEnv, ReTest
TestEnv.activate("Example") do
retest()
end
run_tests(path; filter=nothing, verbose=false, max_workers::Int=Sys.CPU_THREADS, timeout=60*5, return_results=false, print_failed_results=true)
```

## Where is the code?
The astute reader has probably notice that the default branch of this git repo is basically empty.
This is because we keep all the code in other branches.
One per minor release: `release-1.0`, `release-1.1` etc.
We do this because TestEnv.jl accesses a whole ton of interals of [Pkg](https://github.com/JuliaLang/Pkg.jl).
These internals change basically every single release.
Maintaining compatibility in a single branch for multiple julia versions leads to code that is a nightmare.
As such, we instead maintain 1 branch per julia minor version.
And we tag releases off that branch with major and minor versions matching the julia version supported, but with patch versions allowed to change freely.
Runs test items. This will re-use client processes from a previous call to `run_tests`, but is guaranteed to use the latest code version (through a combination of static parsing and Revise).

- [release-1.0](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.0) contains the code to support julia v1.0.x
- [release-1.1](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.1) contains the code to support julia v1.1.x
- [release-1.2](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.2) contains the code to support julia v1.2.x
- [release-1.3](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.3) contains the code to support julia v1.3.x
- [release-1.4](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.4) contains the code to support julia v1.4.x, v1.5.x, and v1.6.x
- This was a rare goldern ages where the internals of Pkg did not change for almost a year.
- [release-1.7](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.7) contains the code to support julia v1.7.x
- [release-1.8](https://github.com/JuliaTesting/TestEnv.jl/tree/release-1.8) contains the code to support julia v1.8.x
Args:
- `path`: Filesystem path to a folder.
- `filter`: A filter callback function that will be called for each identified test item. If the filter callback returns `true` that test item will be run, if `false` it will not run. Each call to the provided filter callback passes a named tuple argument with a number of fields that contain metadata about the specific test item. The provided information is `filename`, `name`, `tags` and `package_name`.
- `verbose` Not implemented right now.
- `max_workers`: Max number of child processes per identified project.
- `timeout`: Timeout in seconds.
- `return_results`: Returns all test results as a vector, includes status, error messages and logs.
- `print_failed_results`: Print error messages for all failed tests when done running all tests.

```julia
kill_test_processes()
```

**Do not make PRs against this COVER branch.**
Except to update this README.
Instead you probably want to PR a branch for some current version of Julia.

This is a bit weird for semver.
New features *can* be added in patch release, but they must be ported to all later branches, and patch releases must be made there also.
For the this reason: we *only* support the latest patch release of any branch.
Older ones may be yanked if they start causing issues for people.


## What should I put in my Project.toml `[compat]` section
If using this as a dependency of a package that supports many versions of julia you may wonder what to put in your Project.toml's [compat] section.
Do not fear, the package manager has your back.
If you put in your `[compat]` for `TestEnv=`: `1` or equivalently `1.0` or `1.0` or `1.0.0` or `^1`, or `^1.0` or `^1.0` or `^1.0.0`,
then the package manager is free to choose any compatible version `v` with `1.0.0 <= v < 2.0.0`.
It will thus chose the corret minor version of TestEnv that is compatible with the loaded version of Julia.

### See also:
- [Discourse Release Announcement](https://discourse.julialang.org/t/ann-testenv-jl-activate-your-test-enviroment-so-you-can-use-your-test-dependencies/65739)
Terminate all active client processes that are used to run test items.
File renamed without changes.
60 changes: 60 additions & 0 deletions packages/CodeTracking/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: CI
on:
pull_request:
branches:
- master
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:
version:
- '1.6' # latest LTS
- '1'
- 'nightly'
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
steps:
- uses: actions/checkout@v3
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@latest
- uses: julia-actions/julia-runtest@latest
- name: Revise tests
if: ${{ matrix.os == 'ubuntu-latest' }}
run: |
julia -e '
using Pkg
Pkg.develop(path=".")
Pkg.add(url="https://github.com/timholy/Revise.jl")
Pkg.test("Revise")
'
- name: Test while running Revise
if: ${{ matrix.os == 'ubuntu-latest' && matrix.version != '1.0' }}
run: |
TERM="xterm" julia --project -i --code-coverage -e '
using InteractiveUtils, REPL, Revise, Pkg
Pkg.add("ColorTypes")
# @async(Base.run_main_repl(true, true, false, true, false))
sleep(2)
cd("test")
include("runtests.jl")
REPL.eval_user_input(:(exit()), Base.active_repl_backend)
'
- uses: julia-actions/julia-processcoverage@latest
- uses: codecov/codecov-action@v3
with:
file: lcov.info
2 changes: 2 additions & 0 deletions packages/CodeTracking/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.DS_Store
/Manifest.toml
19 changes: 19 additions & 0 deletions packages/CodeTracking/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2019 Tim Holy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading

0 comments on commit f2e6c0c

Please sign in to comment.