Skip to content

Commit 510f703

Browse files
oxinaboxfchorney
andauthored
Use Github Actions (#267)
* Update GitHub Actions * Remove TravisCI * Update .github/workflows/CI.yml Co-authored-by: Fernando Chorney <djsbx@djsbx.com> * Apply suggestions from code review Co-authored-by: Fernando Chorney <djsbx@djsbx.com> Co-authored-by: Fernando Chorney <djsbx@djsbx.com>
1 parent ba68dca commit 510f703

4 files changed

Lines changed: 133 additions & 5 deletions

File tree

.github/workflows/CI.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: CI
2+
# Run on master, tags, or any pull request
3+
on:
4+
schedule:
5+
- cron: '0 2 * * *' # Daily at 2 AM UTC (8 PM CST)
6+
push:
7+
branches: [master]
8+
tags: ["*"]
9+
pull_request:
10+
jobs:
11+
test:
12+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- "1" # Latest Release
19+
- '1.0' # LTS
20+
os:
21+
- ubuntu-latest
22+
- macOS-latest
23+
- windows-latest
24+
arch:
25+
- x64
26+
- x86
27+
exclude:
28+
# Test 32-bit only on Linux
29+
- os: macOS-latest
30+
arch: x86
31+
- os: windows-latest
32+
arch: x86
33+
include:
34+
# Add a 1.3 job because that's what Invenia actually uses
35+
- os: ubuntu-latest
36+
version: 1.3
37+
arch: x64
38+
steps:
39+
- uses: actions/checkout@v2
40+
- uses: julia-actions/setup-julia@v1
41+
with:
42+
version: ${{ matrix.version }}
43+
arch: ${{ matrix.arch }}
44+
- uses: actions/cache@v1
45+
env:
46+
cache-name: cache-artifacts
47+
with:
48+
path: ~/.julia/artifacts
49+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
50+
restore-keys: |
51+
${{ runner.os }}-test-${{ env.cache-name }}-
52+
${{ runner.os }}-test-
53+
${{ runner.os }}-
54+
- uses: julia-actions/julia-buildpkg@latest
55+
- uses: julia-actions/julia-runtest@latest
56+
- uses: julia-actions/julia-processcoverage@v1
57+
- uses: codecov/codecov-action@v1
58+
with:
59+
file: lcov.info
60+
61+
slack:
62+
name: Notify Slack Failure
63+
needs: test
64+
runs-on: ubuntu-latest
65+
if: always() && github.event_name == 'schedule'
66+
steps:
67+
- uses: technote-space/workflow-conclusion-action@v2
68+
- uses: voxmedia/github-action-slack-notify-build@v1
69+
if: env.WORKFLOW_CONCLUSION == 'failure'
70+
with:
71+
channel: nightly-rse
72+
status: FAILED
73+
color: danger
74+
env:
75+
SLACK_BOT_TOKEN: ${{ secrets.INVENIA_SLACK_BOT_TOKEN }}
76+
77+
docs:
78+
name: Documentation
79+
runs-on: ubuntu-latest
80+
steps:
81+
- uses: actions/checkout@v2
82+
- uses: julia-actions/setup-julia@v1
83+
with:
84+
version: '1'
85+
- run: |
86+
julia --project=docs -e '
87+
using Pkg
88+
Pkg.develop(PackageSpec(path=pwd()))
89+
Pkg.instantiate()
90+
include("docs/make.jl")'
91+
env:
92+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
93+
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

.github/workflows/CompatHelper.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
name: CompatHelper
2-
32
on:
43
schedule:
5-
- cron: '00 00 * * *'
6-
4+
- cron: '0 0 * * *' # Everyday at midnight
5+
workflow_dispatch:
76
jobs:
87
CompatHelper:
98
runs-on: ubuntu-latest
@@ -13,4 +12,5 @@ jobs:
1312
- name: CompatHelper.main()
1413
env:
1514
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15+
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
1616
run: julia -e 'using CompatHelper; CompatHelper.main()'

.github/workflows/JuliaNightly.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: JuliaNightly
2+
# Nightly Scheduled Julia Nightly Run
3+
on:
4+
schedule:
5+
- cron: '0 2 * * *' # Daily at 2 AM UTC (8 PM CST)
6+
jobs:
7+
test:
8+
name: Julia Nightly - Ubuntu - x64
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v2
12+
- uses: julia-actions/setup-julia@v1
13+
with:
14+
version: nightly
15+
arch: x64
16+
- uses: actions/cache@v1
17+
env:
18+
cache-name: cache-artifacts
19+
with:
20+
path: ~/.julia/artifacts
21+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
22+
restore-keys: |
23+
${{ runner.os }}-test-${{ env.cache-name }}-
24+
${{ runner.os }}-test-
25+
${{ runner.os }}-
26+
- uses: julia-actions/julia-buildpkg@latest
27+
- uses: julia-actions/julia-runtest@latest
28+
- uses: julia-actions/julia-processcoverage@v1
29+
- uses: codecov/codecov-action@v1
30+
with:
31+
file: lcov.info

.github/workflows/TagBot.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
name: TagBot
22
on:
3-
schedule:
4-
- cron: 0 * * * *
3+
issue_comment:
4+
types:
5+
- created
6+
workflow_dispatch:
57
jobs:
68
TagBot:
9+
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
710
runs-on: ubuntu-latest
811
steps:
912
- uses: JuliaRegistries/TagBot@v1
1013
with:
1114
token: ${{ secrets.GITHUB_TOKEN }}
15+
ssh: ${{ secrets.DOCUMENTER_KEY }}

0 commit comments

Comments
 (0)