From 50d7789bc575a6cc25108d743f6ff5040d8b668f Mon Sep 17 00:00:00 2001
From: Mal Miller <mmiller-max>
Date: Wed, 18 Nov 2020 07:58:26 +1100
Subject: [PATCH] Move CI to GitHub Actions

---
 .github/workflows/TagBot.yml |  1 +
 .github/workflows/ci.yml     | 73 ++++++++++++++++++++++++++++++++++++
 .travis.yml                  | 31 ---------------
 README.md                    |  2 +-
 4 files changed, 75 insertions(+), 32 deletions(-)
 create mode 100644 .github/workflows/ci.yml
 delete mode 100644 .travis.yml

diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml
index d77d3a0..c546663 100644
--- a/.github/workflows/TagBot.yml
+++ b/.github/workflows/TagBot.yml
@@ -9,3 +9,4 @@ jobs:
       - uses: JuliaRegistries/TagBot@v1
         with:
           token: ${{ secrets.GITHUB_TOKEN }}
+          ssh: ${{ secrets.documenter }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..db1c810
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,73 @@
+name: CI
+on:
+  pull_request:
+    branches:
+      - master
+  push:
+    branches:
+      - master
+    tags: '*'
+jobs:
+  test:
+    name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        version:
+          - '1.0'
+          - '1'
+          - 'nightly'
+        os:
+          - ubuntu-latest
+          - windows-latest
+        arch:
+          - x64
+    steps:
+      - uses: actions/checkout@v2
+      - uses: julia-actions/setup-julia@v1
+        with:
+          version: ${{ matrix.version }}
+          arch: ${{ matrix.arch }}
+      - 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-buildpkg@v1
+        continue-on-error: ${{ matrix.version == 'nightly' }}
+      - uses: julia-actions/julia-runtest@v1
+        continue-on-error: ${{ matrix.version == 'nightly' }}
+      - uses: julia-actions/julia-processcoverage@v1
+        continue-on-error: ${{ matrix.version == 'nightly' }}
+      - uses: codecov/codecov-action@v1
+        continue-on-error: ${{ matrix.version == 'nightly' }}
+        with:
+          file: lcov.info
+  docs:
+    name: Documentation
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: julia-actions/setup-julia@v1
+        with:
+          version: '1'
+      - run: |
+          julia --project=docs -e '
+            using Pkg
+            Pkg.develop(PackageSpec(path=pwd()))
+            Pkg.instantiate()'
+      - run: |
+          julia --project=docs -e '
+            using Documenter: doctest
+            using TestReports
+            doctest(TestReports)'
+      - run: julia --project=docs docs/make.jl
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          DOCUMENTER_KEY: ${{ secrets.documenter }}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index cc00143..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-## Documentation: http://docs.travis-ci.com/user/languages/julia/
-language: julia
-
-codecov: true
-
-os:
-  - linux
-  - windows
-
-julia:
-  - 1.0
-  - 1  # latest release
-  - nightly
-
-notifications:
-  email: false
-
-git:
-  depth: 99999999
-
-jobs:
-  allow_failures:
-  - julia: nightly
-  include:
-    - stage: "Documentation"
-      julia: 1
-      os: linux
-      script:
-        - julia --project=docs/ -e 'using Pkg; Pkg.instantiate()'
-        - julia --project=docs/ docs/make.jl
-      after_success: skip
\ No newline at end of file
diff --git a/README.md b/README.md
index 6b5fa28..b43e1fa 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # TestReports
 
 [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://juliatesting.github.io/TestReports.jl/stable)
-[![Build Status](https://travis-ci.com/JuliaTesting/TestReports.jl.svg?branch=master)](https://travis-ci.com/JuliaTesting/TestReports.jl)
+[![Build Status](https://github.com/JuliaTesting/TestReports.jl/workflows/CI/badge.svg?branch=master)](https://github.com/JuliaTesting/TestReports.jl/actions?query=workflow%3ACI+branch%3Amaster)
 [![Codecov](https://codecov.io/gh/JuliaTesting/TestReports.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/JuliaTesting/TestReports.jl)
 [![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor's%20Guide-blueviolet)](https://github.com/SciML/ColPrac)