Skip to content

Commit d1157e0

Browse files
authored
Test on Julia pre instead of Julia nightly (#574)
- fixes #573 - adds a workflow for weekly and manual testing against julia nightly - adds versioned manifests to the ignore file
1 parent d02c471 commit d1157e0

File tree

3 files changed

+111
-2
lines changed

3 files changed

+111
-2
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
- 'min'
9191
- 'lts'
9292
- '1' # automatically expands to the latest stable 1.x release of Julia
93-
- 'nightly'
93+
- 'pre' # expands to latest alpha, beta or RC, if available, otherwise same as `1`
9494
os:
9595
- ubuntu-latest
9696
arch:
@@ -123,7 +123,7 @@ jobs:
123123
- uses: julia-actions/julia-processcoverage@v1
124124
- uses: codecov/codecov-action@v5
125125
with:
126-
file: lcov.info
126+
files: lcov.info
127127
test_monorepo:
128128
name: Monorepo dev - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
129129
runs-on: ${{ matrix.os }}

.github/workflows/ci_nightly.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
name: Nightly
19+
on:
20+
schedule:
21+
- cron: 0 0 * * 1 # run once a week on Mondays
22+
workflow_dispatch:
23+
jobs:
24+
test:
25+
name: ${{ matrix.pkg.name }} - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.nthreads }} threads - ${{ github.event_name }}
26+
runs-on: ${{ matrix.os }}
27+
timeout-minutes: 45
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
pkg:
32+
- name: Arrow.jl
33+
dir: '.'
34+
- name: ArrowTypes.jl
35+
dir: './src/ArrowTypes'
36+
version:
37+
- 'nightly'
38+
os:
39+
- ubuntu-latest
40+
arch:
41+
- x64
42+
nthreads: [1, 2]
43+
steps:
44+
- uses: actions/checkout@v5
45+
- uses: julia-actions/setup-julia@v2
46+
with:
47+
version: ${{ matrix.version }}
48+
arch: ${{ matrix.arch }}
49+
- uses: actions/cache@v4
50+
env:
51+
cache-name: cache-artifacts
52+
with:
53+
path: ~/.julia/artifacts
54+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
55+
restore-keys: |
56+
${{ runner.os }}-test-${{ env.cache-name }}-
57+
${{ runner.os }}-test-
58+
${{ runner.os }}-
59+
- uses: julia-actions/julia-buildpkg@v1.6
60+
with:
61+
project: ${{ matrix.pkg.dir }}
62+
- uses: julia-actions/julia-runtest@v1
63+
env:
64+
JULIA_NUM_THREADS: ${{ matrix.nthreads }}
65+
with:
66+
project: ${{ matrix.pkg.dir }}
67+
- uses: julia-actions/julia-processcoverage@v1
68+
- uses: codecov/codecov-action@v5
69+
with:
70+
files: lcov.info
71+
test_monorepo:
72+
name: Monorepo dev - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
73+
runs-on: ${{ matrix.os }}
74+
timeout-minutes: 30
75+
strategy:
76+
fail-fast: true
77+
matrix:
78+
version:
79+
- 'nightly'
80+
os:
81+
- ubuntu-latest
82+
arch:
83+
- x64
84+
steps:
85+
- uses: actions/checkout@v5
86+
- uses: julia-actions/setup-julia@v2
87+
with:
88+
version: ${{ matrix.version }}
89+
arch: ${{ matrix.arch }}
90+
- uses: actions/cache@v4
91+
env:
92+
cache-name: cache-artifacts
93+
with:
94+
path: ~/.julia/artifacts
95+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
96+
restore-keys: |
97+
${{ runner.os }}-test-${{ env.cache-name }}-
98+
${{ runner.os }}-test-
99+
${{ runner.os }}-
100+
- name: Dev monorepo dependencies
101+
shell: julia --project=monorepo {0}
102+
run: |
103+
using Pkg;
104+
Pkg.develop([PackageSpec(path="."), PackageSpec(path="src/ArrowTypes")])
105+
- name: Run monorepo tests
106+
continue-on-error: false
107+
run: >
108+
julia --color=yes --project=monorepo -e 'using Pkg; Pkg.test("Arrow")'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
# under the License.
1717

1818
Manifest.toml
19+
Manifest-v*.toml
1920
.DS_STORE
2021
*.jl.cov
2122
*.jl.*.cov

0 commit comments

Comments
 (0)