Switch CI from Travis to GitHub Actions

This commit is contained in:
Sijawusz Pur Rahnama 2021-01-11 18:21:32 +01:00
parent 552d31a82b
commit 69f3921a68
4 changed files with 44 additions and 32 deletions

42
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,42 @@
name: CI
on:
push:
pull_request:
branches:
# Branches from forks have the form 'user:branch-name' so we only run
# this job on pull_request events for branches that look like fork
# branches. Without this we would end up running this job twice for non
# forked PRs, once for the push and then once for opening the PR.
- "**:**"
schedule:
- cron: "0 3 * * 1" # Every monday at 3 AM
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
crystal: [latest, nightly]
runs-on: ${{ matrix.os }}
steps:
- name: Install Crystal
uses: oprypin/install-crystal@v1
with:
crystal: ${{ matrix.crystal }}
- name: Download source
uses: actions/checkout@v2
- name: Install dependencies
run: shards install
env:
SHARDS_OPTS: --ignore-crystal-version
- name: Run specs
run: make test
- name: Check formatting
run: crystal tool format --check

2
.gitignore vendored
View File

@ -7,5 +7,3 @@
# Libraries don't need dependency lock
# Dependencies will be locked in application that uses them
/shard.lock
*.html

View File

@ -1,28 +0,0 @@
language: crystal
crystal:
- latest
- nightly
jobs:
allow_failures:
- crystal: nightly
install:
- shards install
script:
- make test
- crystal tool format --check
- sed -i -e 's:<.*>::g' README.md
- crystal docs
deploy:
provider: pages
github_token: $GITHUB_TOKEN
project_name: ameba
skip_cleanup: true
on:
branch: master
local_dir: docs
verbose: true

View File

@ -8,7 +8,7 @@
</sup>
</p>
<p align="center">
<a href="https://travis-ci.org/crystal-ameba/ameba"><img src="https://travis-ci.org/crystal-ameba/ameba.svg?branch=master"></a>
<a href="https://github.com/crystal-ameba/ameba/actions?query=workflow%3ACI"><img src="https://github.com/crystal-ameba/ameba/workflows/CI/badge.svg"></a>
<a href="https://github.com/crystal-ameba/ameba/releases"><img src="https://img.shields.io/github/release/crystal-ameba/ameba.svg?maxAge=360"></a>
<a href="https://github.com/crystal-ameba/ameba/blob/master/LICENSE"><img src="https://img.shields.io/github/license/crystal-ameba/ameba.svg"></a>
<a href="https://gitter.im/veelenga/ameba?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge"><img src="https://badges.gitter.im/veelenga/ameba.svg"></a>
@ -169,7 +169,7 @@ In this example we define default globs and exclude `src/compiler` folder:
Globs:
- **/*.cr
- !lib
Excluded:
- src/compiler
```