From 623cf6b54f61a13fe1fab02ae9237afcd42cddc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mos=C3=A8=20Giordano?= Date: Sat, 17 Oct 2020 21:46:17 +0100 Subject: [PATCH] Some improvements to CI * move FreeBSD to Travis * run TagBot once per day * test also on latest Julia version * cache artifacts --- .appveyor.yml | 6 +++++ .cirrus.yml | 16 ------------- .drone.jsonnet | 9 +++++-- .drone.yml | 44 ++++++++++++++++++++++++++++++++++ .github/workflows/RunTests.yml | 12 +++++++++- .github/workflows/TagBot.yml | 2 +- .travis.yml | 17 +++++++++++++ 7 files changed, 86 insertions(+), 20 deletions(-) delete mode 100644 .cirrus.yml diff --git a/.appveyor.yml b/.appveyor.yml index 16bb9b0..69e8bb3 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -9,15 +9,21 @@ platform: matrix: allow_failures: - julia_version: nightly + branches: only: - master - /release-.*/ + +cache: + - '%USERPROFILE%\.julia\artifacts' + notifications: - provider: Email on_build_success: false on_build_failure: false on_build_status_changed: false + install: - ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1")) build_script: diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 03660af..0000000 --- a/.cirrus.yml +++ /dev/null @@ -1,16 +0,0 @@ -freebsd_instance: - image: freebsd-12-0-release-amd64 -task: - name: FreeBSD - env: - matrix: - - JULIA_VERSION: 1.3 - - JULIA_VERSION: nightly - install_script: - - sh -c "$(fetch https://raw.githubusercontent.com/ararslan/CirrusCI.jl/master/bin/install.sh -o -)" - build_script: - - cirrusjl build - test_script: - - cirrusjl test - coverage_script: - - cirrusjl coverage codecov diff --git a/.drone.jsonnet b/.drone.jsonnet index 960950a..21a8dd5 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -13,10 +13,15 @@ local Pipeline(os, arch, version) = { "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" ] } - ] + ], + trigger: { + branch: ["master"] + } }; [ Pipeline("linux", "arm", "1.3"), - Pipeline("linux", "arm64", "1.3") + Pipeline("linux", "arm", "1.4.1"), + Pipeline("linux", "arm64", "1.3"), + Pipeline("linux", "arm64", "1.5") ] diff --git a/.drone.yml b/.drone.yml index 54f6363..f50dd3e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -12,6 +12,28 @@ steps: commands: - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" +trigger: + branch: + - master + +--- +kind: pipeline +name: linux - arm - Julia 1.4.1 + +platform: + os: linux + arch: arm + +steps: +- name: build + image: julia:1.4.1 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +trigger: + branch: + - master + --- kind: pipeline name: linux - arm64 - Julia 1.3 @@ -26,4 +48,26 @@ steps: commands: - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" +trigger: + branch: + - master + +--- +kind: pipeline +name: linux - arm64 - Julia 1.5 + +platform: + os: linux + arch: arm64 + +steps: +- name: build + image: julia:1.5 + commands: + - "julia --project=. --check-bounds=yes --color=yes -e 'using InteractiveUtils; versioninfo(verbose=true); using Pkg; Pkg.build(); Pkg.test(coverage=true)'" + +trigger: + branch: + - master + ... diff --git a/.github/workflows/RunTests.yml b/.github/workflows/RunTests.yml index e03a33b..8ff6074 100644 --- a/.github/workflows/RunTests.yml +++ b/.github/workflows/RunTests.yml @@ -19,5 +19,15 @@ jobs: - 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 }}- - uses: julia-actions/julia-runtest@master - \ No newline at end of file diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index d77d3a0..bef34bf 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -1,7 +1,7 @@ name: TagBot on: schedule: - - cron: 0 * * * * + - cron: 35 18 * * * jobs: TagBot: runs-on: ubuntu-latest diff --git a/.travis.yml b/.travis.yml index 5926220..86e39c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,7 @@ language: julia os: - linux - osx + - freebsd # We cannot test FFMPEG on Windows because of # https://travis-ci.community/t/any-chance-of-providing-an-environment-with-desktop-experience/1024 # - windows @@ -12,6 +13,7 @@ arch: - arm64 julia: - 1.3 + - 1 - nightly matrix: allow_failures: @@ -19,8 +21,12 @@ matrix: exclude: - os: osx arch: x86 + - os: freebsd + arch: x86 - os: osx arch: arm64 + - os: freebsd + arch: arm64 # - os: windows # arch: arm64 - julia: nightly @@ -30,3 +36,14 @@ notifications: email: false after_success: - julia -e 'using Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder())' + +branches: + only: + - master + - gh-pages # For building documentation + - /^testing-.*$/ # testing branches + - /^v[0-9]+\.[0-9]+\.[0-9]+$/ # version tags + +cache: + directories: + - $HOME/.julia/artifacts