Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Breaking] New syntax, plots backend, and features #44

Merged
merged 77 commits into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
6d4f5e2
Refactor allocations.jl
VarLad Dec 17, 2023
aee619c
Fix GLM allocs script
Azzaare Dec 30, 2023
c5a3ff1
New syntax again with GLM example
VarLad Dec 30, 2023
743f20a
Update methods args. Clean code
Azzaare Dec 31, 2023
c8725f9
default options and some other cleaning
VarLad Dec 31, 2023
ac4df62
Fix tests: PatternFolds
Azzaare Dec 31, 2023
5d2017a
Update pattern_folds.jl
VarLad Dec 31, 2023
ba296ae
Update compat and CI
Azzaare Dec 31, 2023
7c21814
Initial commit for PkgExtensions + Benchmark
VarLad Jan 7, 2024
fd19e0f
Some cleanup
VarLad Jan 26, 2024
a56582f
More cleanup -- some working stuff
VarLad Jan 26, 2024
287ecc4
Change name of perf_table to perf_plot
VarLad Jan 26, 2024
5cfec3d
change name to to_table
VarLad Jan 26, 2024
98a663e
Fix the GLM example
VarLad Jan 26, 2024
5aeedf8
Port the non-working CompositionalNetworks example
VarLad Jan 27, 2024
46d449d
Temp rm of CompositionalNetworks in perf folder
Azzaare Jan 27, 2024
4103703
Clean old files and restore PatternFolds allocations script in perf
Azzaare Jan 27, 2024
7d54971
Final fixes for tests and perf (PatternFolds)
Azzaare Jan 27, 2024
eb188fd
Some typo fixes and checking
VarLad Jan 27, 2024
6ff242b
Initial changes
VarLad Mar 6, 2024
2916b05
Refactor tag search, some minor development
VarLad Mar 7, 2024
2405658
Add version resolution for patches, breaking and major
VarLad Mar 14, 2024
9d08e74
Bugfixing + Better checking for version resolution
VarLad Mar 14, 2024
9378d89
Last run begins :)
VarLad Mar 16, 2024
ac06f34
More polishing, better defaults
VarLad Mar 17, 2024
07447d1
Even more polish, better display of output, fix tests
VarLad Mar 18, 2024
30ffa3d
WIP: Tag system + Version System (#25)
VarLad Mar 18, 2024
a3bb1ab
Bugfixing + better checking of versions
VarLad Mar 29, 2024
2b551cf
Merge branch 'dev' into tagsystem
VarLad Mar 29, 2024
910abd5
Fix warning
VarLad Mar 29, 2024
3555404
Fix broken tests
VarLad Mar 29, 2024
2aa5310
Merge pull request #30 from JuliaConstraints/tagsystem
Azzaare Mar 29, 2024
c082a15
Fix tests on nightly branch (#35)
VarLad Apr 17, 2024
da8b5af
Initial Chairmarks PR
VarLad Apr 28, 2024
386427b
Functional Chainmarks extension
VarLad Apr 29, 2024
f3dc4a4
fix typo
VarLad Apr 29, 2024
00e2893
fix another typo
VarLad Apr 29, 2024
09d445d
Support with example
VarLad Apr 30, 2024
550a8ec
Merge pull request #37 from JuliaConstraints/chairs
Azzaare Apr 30, 2024
f514978
Add pie chart example
VarLad May 11, 2024
68376e6
Changes a bit the pie plots visu
Azzaare May 11, 2024
7a438e8
Improve the allocs script
Azzaare May 11, 2024
885bab7
Add file save with tags and version
Azzaare May 11, 2024
0e417e4
Improve CI, format, tests
Azzaare May 14, 2024
daf5d9e
Moved a broken test to unbroken
Azzaare May 14, 2024
5cf2065
Fix typo and commented tests
Azzaare May 14, 2024
1409b2d
Fix format
Azzaare May 14, 2024
2ad8fb3
Merge pull request #40 from JuliaConstraints/cistuff
Azzaare May 14, 2024
e16f9ad
Add scatterline
VarLad May 14, 2024
a23e94c
Improvement
VarLad May 14, 2024
11693c3
Add CSV extension
Azzaare May 14, 2024
2e3cd2a
More
VarLad May 14, 2024
385c5a7
Fix tests and add initpkgs
VarLad May 17, 2024
f79f036
Add Malt...
VarLad May 17, 2024
ba65696
Tiny tweaks
VarLad May 18, 2024
f50798d
Updated project files with new tagged release of CoverageTools
Azzaare May 18, 2024
0b6d3e4
Merge branch 'dev' into maltplotm
Azzaare May 18, 2024
86f410a
Fix a forgotten merge artifact. Rm Distributed from tests
Azzaare May 18, 2024
23d8039
Fix spell and format
Azzaare May 20, 2024
f8727e1
Merge pull request #41 from JuliaConstraints/maltplotm
Azzaare May 20, 2024
4727ae3
First draft for UUIDs
Azzaare May 20, 2024
12ef66c
Tmp save for output
Azzaare May 21, 2024
23c19f3
Add support for scatterlines and boxplots for Chairmarks and Benchmar…
VarLad May 21, 2024
2a547e0
Trying to make CSV ext save tables
Azzaare May 21, 2024
42739b0
Merge branch 'dev' into output
Azzaare May 21, 2024
e5f8e35
Fix output and medata as csv
Azzaare May 28, 2024
3382254
Spelling and format
Azzaare May 28, 2024
b10b057
Updated check for devops. Run checks for GLM and PatternFolds
Azzaare May 28, 2024
b325aab
Fixes some plots output and provide basic scripts for those
Azzaare May 28, 2024
79c331a
Fix tests
Azzaare May 28, 2024
1d34b1d
Fix tests and spelling
Azzaare May 28, 2024
ad763c0
Merge pull request #43 from JuliaConstraints/output
Azzaare May 28, 2024
587d68b
Merge branch 'main' into dev
Azzaare May 29, 2024
47bf5be
Move doc to DocumenterVitepress
Azzaare May 29, 2024
d6b0708
Merge pull request #45 from JuliaConstraints/output
Azzaare May 29, 2024
ca811d5
Update docs and ci
Azzaare May 29, 2024
4479a55
Update docs and ci 2/?
Azzaare May 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
style = "sciml"
112 changes: 79 additions & 33 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,81 @@
name: CI
on:
- push
- pull_request
pull_request:
branches:
- main
- dev
paths-ignore:
- "docs/**"
push:
branches:
- main
paths-ignore:
- "docs/**"
jobs:
formatter:
runs-on: ${{ matrix.os }}
strategy:
matrix:
julia-version: [1]
julia-arch: [x86]
os: [ubuntu-latest]
steps:
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.julia-version }}

- uses: actions/checkout@v4
- name: Install JuliaFormatter and format
# This will use the latest version by default but you can set the version like so:
#
# julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))'
run: |
julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="1.0.50"))'
julia -e 'using JuliaFormatter; format(".", verbose=true)'
- name: Format check
run: |
julia -e '
out = Cmd(`git diff`) |> read |> String
if out == ""
exit(0)
else
@error "Some files have not been formatted !!!"
write(stdout, out)
exit(1)
end'
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.6'
- '1.7'
- '1.8'
- "^1.9.0-0"
- 'nightly'
- "1.9" # Minimal version of Julia for PerfChecker.jl
- "1" # automatically expands to the latest stable 1.x release of Julia
- nightly
os:
- ubuntu-latest
- macOS-latest
- windows-latest
arch:
- x64
- x86
exclude:
include:
# test macOS and Windows with latest Julia only
- os: macOS-latest
arch: x86
arch: x64
version: 1
- os: windows-latest
arch: x64
version: 1
- os: windows-latest
arch: x86
version: 1
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v1
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- uses: actions/cache@v1
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
Expand All @@ -46,25 +88,29 @@ jobs:
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
- uses: codecov/codecov-action@v4
with:
file: lcov.info
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
with:
version: '1'
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
- run: |
julia --project=docs -e '
using Documenter: DocMeta, doctest
using PerfChecker
DocMeta.setdocmeta!(PerfChecker, :DocTestSetup, :(using PerfChecker); recursive=true)
doctest(PerfChecker)'
# docs:
# name: Documentation
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: julia-actions/setup-julia@v1
# with:
# version: '1'
# - run: |
# julia --project=docs -e '
# using Pkg
# Pkg.develop(PackageSpec(path=pwd()))
# Pkg.instantiate()'
# - run: |
# julia --project=docs -e '
# using Documenter: DocMeta, doctest
# using PerfChecker
# DocMeta.setdocmeta!(PerfChecker, :DocTestSetup, :(using PerfChecker); recursive=true)
# doctest(PerfChecker)'
# - run: julia --project=docs docs/make.jl
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
37 changes: 32 additions & 5 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,43 @@
name: CompatHelper
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
- name: Check if Julia is already available in the PATH
id: julia_in_path
run: which julia
continue-on-error: true
- name: Install Julia, but only if it is not already available in the PATH
uses: julia-actions/setup-julia@v1
with:
version: "1"
arch: ${{ runner.arch }}
if: steps.julia_in_path.outcome != 'success'
- name: "Add the General registry via Git"
run: |
import Pkg
ENV["JULIA_PKG_SERVER"] = ""
Pkg.Registry.add("General")
shell: julia --color=yes {0}
- name: "Install CompatHelper"
run: |
import Pkg
name = "CompatHelper"
uuid = "aa819f21-2bde-4658-8897-bab36330d9b7"
version = "3"
Pkg.add(; name, uuid, version)
shell: julia --color=yes {0}
- name: "Run CompatHelper"
run: |
import CompatHelper
CompatHelper.main()
shell: julia --color=yes {0}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
run: julia -e 'using CompatHelper; CompatHelper.main()'
52 changes: 52 additions & 0 deletions .github/workflows/Documenter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Sample workflow for building and deploying a VitePress site to GitHub Pages
#
name: Documenter

on:
# Runs on pushes targeting the `master` branch. Change this to `main` if you're
# using the `main` branch as the default branch.
push:
branches:
- main
tags: ["*"]
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
actions: write
contents: write
pages: write
id-token: write
statuses: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: pages
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Julia
uses: julia-actions/setup-julia@v1
- name: Pull Julia cache
uses: julia-actions/cache@v1
- name: Install documentation dependencies
run: julia --project=docs -e 'using Pkg; pkg"dev ."; Pkg.instantiate(); Pkg.precompile(); Pkg.status()'
#- name: Creating new mds from src
- name: Build and deploy docs
uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # For authentication with SSH deploy key
GKSwstype: "100" # for Plots.jl plots (if you have them)
JULIA_DEBUG: "Documenter"
DATADEPS_ALWAYS_ACCEPT: true
13 changes: 13 additions & 0 deletions .github/workflows/SpellCheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Spell Check

on: [pull_request]

jobs:
typos-check:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Check spelling
uses: crate-ci/[email protected]
16 changes: 16 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@ on:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: "3"
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
Expand Down
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
*.jl.*.cov
*.jl.cov
*.jl.mem
*.jl.*.mem
*Manifest.toml

/docs/build/

/test/benchmarks/
/test/mallocs/
/test/output/
/test/metadata/

*~
*.swp
Expand Down
52 changes: 29 additions & 23 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,42 +1,48 @@
name = "PerfChecker"
uuid = "6309bf6b-a531-4b08-891e-8ee981e5c424"
authors = ["Azzaare <[email protected]>"]
version = "0.1.4"
version = "0.2.0"

[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a"
LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925"
CpuId = "adafc99b-e345-5852-983c-f28acb93d879"
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
Malt = "36869731-bdee-424d-aa32-cab38c994e3b"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
Term = "22787eb5-b846-44ae-b979-8e399b8463ab"
TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9"
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"

[weakdeps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"

[extensions]
BenchmarkToolsExt = "BenchmarkTools"
ChairmarksExt = "Chairmarks"
MakieExt = "Makie"

[compat]
BenchmarkTools = "1"
CSV = "0.10"
CoverageTools = "1"
DataFrames = "1"
OrderedCollections = "1"
PGFPlotsX = "1"
Pkg = "1"
Plots = "1"
StatsPlots = "0.15"
Term = "2"
Chairmarks = "1"
CoverageTools = "1.3.1"
CpuId = "0.3"
JSON = "0.21"
Makie = "0.21"
Malt = "1"
TypedTables = "1"
julia = "1.6"
julia = "1.9"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de"
PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]
test = ["Aqua", "BenchmarkTools", "Chairmarks", "PatternFolds", "Test"]
Loading
Loading