Skip to content

Commit 259dc04

Browse files
authored
Use Cirrus to run CI on more platforms (#46)
* Use Cirrus to run CI on more platforms * Modernise GitHub workflows * Do not Cirrus on nightly * Better script for Cirrus, from VideoIO * Autocancel GitHub Actions if there are more recent commits on branch * Use eager registry on Cirrus CI * Do not run CI with Julia v1.6 on FreeBSD
1 parent 64abc80 commit 259dc04

File tree

2 files changed

+63
-11
lines changed

2 files changed

+63
-11
lines changed

.cirrus.yml

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
task:
2+
matrix:
3+
- name: FreeBSD
4+
freebsd_instance:
5+
image_family: freebsd-13-1
6+
env:
7+
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
8+
matrix:
9+
# - JULIA_VERSION: 1.6 # Has problems with libcurl
10+
- JULIA_VERSION: 1
11+
# - JULIA_VERSION: nightly # not available
12+
- name: Linux ARMv8
13+
arm_container:
14+
image: ubuntu:latest
15+
env:
16+
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
17+
matrix:
18+
- JULIA_VERSION: 1.6
19+
- JULIA_VERSION: 1
20+
- JULIA_VERSION: nightly
21+
- name: MacOS M1
22+
macos_instance:
23+
image: ghcr.io/cirruslabs/macos-monterey-base:latest
24+
env:
25+
JULIA_PKG_SERVER_REGISTRY_PREFERENCE: eager
26+
matrix:
27+
# - JULIA_VERSION: 1.6 # not available
28+
- JULIA_VERSION: 1
29+
- JULIA_VERSION: nightly
30+
31+
allow_failures: $JULIA_VERSION == 'nightly'
32+
install_script: |
33+
URL="https://raw.githubusercontent.com/ararslan/CirrusCI.jl/master/bin/install.sh"
34+
set -x
35+
if [ "$(uname -s)" = "Linux" ] && command -v apt; then
36+
apt update
37+
apt install -y curl
38+
fi
39+
if command -v curl; then
40+
sh -c "$(curl ${URL})"
41+
elif command -v wget; then
42+
sh -c "$(wget ${URL} -O-)"
43+
elif command -v fetch; then
44+
sh -c "$(fetch ${URL} -o -)"
45+
else
46+
echo "No downloader installed! :( Install one! :)"
47+
fi
48+
build_script:
49+
- cirrusjl build
50+
test_script:
51+
- cirrusjl test
52+
coverage_script:
53+
- cirrusjl coverage codecov

.github/workflows/ci.yml

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: CI
2+
23
on:
34
pull_request:
45
branches:
@@ -7,6 +8,13 @@ on:
78
branches:
89
- master
910
tags: '*'
11+
12+
concurrency:
13+
# Skip intermediate builds: always.
14+
# Cancel intermediate builds: always.
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
1018
jobs:
1119
test:
1220
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
@@ -30,21 +38,12 @@ jobs:
3038
- os: macOS-latest
3139
arch: x86
3240
steps:
33-
- uses: actions/checkout@v2
41+
- uses: actions/checkout@v3
3442
- uses: julia-actions/setup-julia@v1
3543
with:
3644
version: ${{ matrix.version }}
3745
arch: ${{ matrix.arch }}
38-
- uses: actions/cache@v2
39-
env:
40-
cache-name: cache-artifacts
41-
with:
42-
path: ~/.julia/artifacts
43-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
44-
restore-keys: |
45-
${{ runner.os }}-test-${{ env.cache-name }}-
46-
${{ runner.os }}-test-
47-
${{ runner.os }}-
46+
- uses: julia-actions/cache@v1
4847
- uses: julia-actions/julia-buildpkg@v1
4948
- uses: julia-actions/julia-runtest@v1
5049
- uses: julia-actions/julia-processcoverage@v1

0 commit comments

Comments
 (0)