diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 2b021c9..8f95290 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,79 +1,47 @@ name: CI - -# Run on master, tags, or any pull request on: push: - branches: [master] - tags: ["*"] + branches: + - master + tags: ['*'] pull_request: - + workflow_dispatch: +concurrency: + # Skip intermediate builds: always. + # Cancel intermediate builds: only if it is a pull request build. + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} jobs: test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: version: - '1.6' - - '1' # Latest Release + - '1' os: - ubuntu-latest - - windows-latest - macos-latest + - windows-latest arch: - x64 - + - x86 + exclude: + - os: macos-latest + arch: x86 steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - - uses: actions/cache@v1 - 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 }}- - - uses: julia-actions/julia-buildpkg@latest - - run: | - git config --global user.name Tester - git config --global user.email te@st.er - - uses: julia-actions/julia-runtest@latest + - uses: julia-actions/cache@v2 + - 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 - - # ATM, we only have README - # - # docs: - # name: Documentation - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - uses: julia-actions/setup-julia@v1 - # with: - # version: '1' - # - run: | - # git config --global user.name name - # git config --global user.email email - # git config --global github.user username - # - run: | - # julia --project=docs -e ' - # using Pkg; - # Pkg.develop(PackageSpec(path=pwd())); - # Pkg.instantiate();' - # - run: | - # julia --project=docs -e ' - # using Documenter: doctest - # using TimeSeries - # doctest(TimeSeries)' - # - run: julia --project=docs docs/make.jl - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + token: ${{ secrets.CODECOV_TOKEN }} + files: lcov.info diff --git a/test/runtests.jl b/test/runtests.jl index 37c61fd..d5225f7 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -132,14 +132,14 @@ end nu1 = svmtrain(X, y, svmtype = NuSVR, cost = 10., nu = .7, gamma = 2., tolerance = .001) ynu1, d = svmpredict(nu1, X) - @test sum(ynu1 - y) ≈ 14.184665717092 + @test isapprox(sum(ynu1 - y), 14.184665717092, atol=0.001) sknu1 = fit!(NuSVR(cost = 10., nu=.7, gamma = 2.), X', y) ysknu1 = predict(sknu1, X') @test isapprox(ysknu1,ynu1) nu2 = svmtrain(X, y, svmtype = NuSVR, cost = 10., nu = .9) - ynu2, d =svmpredict(nu2, X) - @test sum(ynu2 - y) ≈ 6.686819661799177 + ynu2, d = svmpredict(nu2, X) + @test isapprox(sum(ynu2 - y), 6.686819661799177, atol=0.01) sknu2 = fit!(NuSVR(cost = 10., nu=.9), X', y) ysknu2 = predict(sknu2, X') @test isapprox(ysknu2, ynu2) @@ -150,7 +150,7 @@ end nu = .7, gamma = 2., tolerance = .001, nt = -1) ntynu1, ntd = svmpredict(ntnu1, X) - @test sum(ntynu1 - y) ≈ 14.184665717092 + @test isapprox(sum(ntynu1 - y), 14.184665717092, atol=0.001) # Assign by environment ENV["OMP_NUM_THREADS"] = 2