diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..f5ed65f0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,86 @@ +name: ci + +on: + push: + pull_request: + +defaults: + run: + shell: bash + +jobs: + CI: + if: "!contains(github.event.head_commit.message, '[skip ci]')" + + env: + GKS_ENCODING: "utf8" + + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + julia_version: + - 'nightly' + - '1' + - '1.0' + os: + - ubuntu-latest + - windows-latest + - macos-latest + arch: + - x64 + # - x32 + steps: + + # Setup environment + - uses: actions/checkout@v2 + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.julia_version }} + - name: Cache artifacts + 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 }}- + + # OS Dependencies + # - name: Ubuntu OS dependencies + # if: startsWith(matrix.os,'ubuntu') + # run: | + # ./test/install_wkhtmltoimage.sh + + # at-spi2-core, libgtk-3-dev, libgtk-3-0, and xvfb are already installed: https://github.com/actions/virtual-environments/blob/master/images/linux/scripts/installers/basic.sh + + + # TESTCMD + - name: Default TESTCMD + run: echo ::set-env name=TESTCMD::"julia" + - name: Ubuntu TESTCMD + if: startsWith(matrix.os,'ubuntu') + run: echo ::set-env name=TESTCMD::"xvfb-run julia" + + # Julia Deoendencies + - name: Install Julia dependencies + uses: julia-actions/julia-buildpkg@latest + + # Run tests + - name: Run Graphical test + run: $TESTCMD --project -e 'using Pkg; Pkg.test(coverage=true);' + + - name: Codecov + uses: julia-actions/julia-uploadcodecov@latest + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + Skip: + if: "contains(github.event.head_commit.message, '[skip ci]')" + runs-on: ubuntu-latest + steps: + - name: Skip CI 🚫 + run: echo skip ci diff --git a/Project.toml b/Project.toml index 756f6b99..b49e3fc5 100644 --- a/Project.toml +++ b/Project.toml @@ -35,7 +35,7 @@ UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" Contour = "0.5" FFMPEG = "0.2, 0.3" FixedPointNumbers = "0.6, 0.7, 0.8" -GR = "0.46, 0.47, 0.48, 0.49" +GR = "0.46, 0.47, 0.48, 0.49, 0.50" GeometryTypes = "0.7, 0.8" JSON = "0.21" Measures = "0.3" @@ -53,7 +53,6 @@ julia = "1" [extras] FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -GeometryTypes = "4d00f742-c7ba-57c2-abde-4428a4b178cb" Gtk = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44" HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1" @@ -62,7 +61,6 @@ LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b" -Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" @@ -70,4 +68,4 @@ UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" VisualRegressionTests = "34922c18-7c2a-561c-bac1-01e79b2c4c92" [targets] -test = ["FileIO", "GeometryTypes", "Gtk", "ImageMagick", "Images", "LibGit2", "OffsetArrays", "PGFPlotsX", "HDF5", "Random", "RDatasets", "StaticArrays", "StatsPlots", "Test", "UnicodePlots", "VisualRegressionTests"] +test = ["FileIO", "Gtk", "ImageMagick", "Images", "LibGit2", "OffsetArrays", "PGFPlotsX", "HDF5", "RDatasets", "StaticArrays", "StatsPlots", "Test", "UnicodePlots", "VisualRegressionTests"] diff --git a/README.md b/README.md index 1e6cef98..fc44c5f5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Plots +![GitHub Actions CI](https://github.com/JuliaPlots/Plots.jl/workflows/ci/badge.svg) + [travis-img]: https://img.shields.io/travis/JuliaPlots/Plots.jl?logo=travis [travis-url]: https://travis-ci.org/JuliaPlots/Plots.jl