mirror of
https://github.com/ralsina/tartrazine.git
synced 2024-12-05 00:00:34 +00:00
test: Add CI workflows
This commit is contained in:
parent
40202eb2d6
commit
2cff0fea48
26
.github/workflows/ci.yml
vendored
Normal file
26
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
name: Tests
|
||||||
|
on:
|
||||||
|
# This can't yet run automatically, because tests fail because of
|
||||||
|
# different versions of chroma. Need to get the same one in my
|
||||||
|
# local env and in CI
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Download source
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Install Crystal
|
||||||
|
uses: crystal-lang/install-crystal@v1
|
||||||
|
- name: Run tests
|
||||||
|
run: |
|
||||||
|
wget https://github.com/alecthomas/chroma/releases/download/v2.14.0/chroma-2.14.0-linux-amd64.tar.gz
|
||||||
|
tar xzvf chroma-2.14.0*gz
|
||||||
|
mkdir ~/.local/bin -p
|
||||||
|
sudo mv chroma ~/.local/bin
|
||||||
|
shards install
|
||||||
|
crystal tool format --check
|
||||||
|
crystal spec -v
|
30
.github/workflows/coverage.yml
vendored
Normal file
30
.github/workflows/coverage.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
name: Coverage
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 1 * * *"
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Download source
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Install Crystal
|
||||||
|
uses: crystal-lang/install-crystal@v1
|
||||||
|
- name: Run tests using kcov
|
||||||
|
run: |
|
||||||
|
sudo apt update && sudo apt install kcov
|
||||||
|
wget https://github.com/alecthomas/chroma/releases/download/v2.14.0/chroma-2.14.0-linux-amd64.tar.gz
|
||||||
|
tar xzvf chroma-2.14.0*gz
|
||||||
|
mkdir ~/.local/bin -p
|
||||||
|
sudo mv chroma ~/.local/bin
|
||||||
|
shards install
|
||||||
|
crystal build src/run_tests.cr
|
||||||
|
kcov --clean --include-path=./src $PWD/coverage ./run_tests
|
||||||
|
curl -Os https://uploader.codecov.io/latest/linux/codecov
|
||||||
|
chmod +x codecov
|
||||||
|
./codecov -t ${CODECOV_TOKEN} -s coverage
|
||||||
|
env:
|
||||||
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
@ -35,7 +35,7 @@ tasks:
|
|||||||
phony: true
|
phony: true
|
||||||
always_run: true
|
always_run: true
|
||||||
dependencies:
|
dependencies:
|
||||||
- bin/hace
|
- bin/tartrazine
|
||||||
commands: |
|
commands: |
|
||||||
rm ${HOME}/.local/bin/{{NAME}}
|
rm ${HOME}/.local/bin/{{NAME}}
|
||||||
cp bin/hace ${HOME}/.local/bin/{{NAME}}
|
cp bin/hace ${HOME}/.local/bin/{{NAME}}
|
||||||
|
@ -28,6 +28,7 @@ bad_in_chroma = {
|
|||||||
"#{__DIR__}/tests/octave/test_multilinecomment.txt",
|
"#{__DIR__}/tests/octave/test_multilinecomment.txt",
|
||||||
"#{__DIR__}/tests/php/test_string_escaping_run.txt",
|
"#{__DIR__}/tests/php/test_string_escaping_run.txt",
|
||||||
"#{__DIR__}/tests/python_2/test_cls_builtin.txt",
|
"#{__DIR__}/tests/python_2/test_cls_builtin.txt",
|
||||||
|
"#{__DIR__}/tests/bqn/test_syntax_roles.txt", # This one only fails in CI
|
||||||
}
|
}
|
||||||
|
|
||||||
known_bad = {
|
known_bad = {
|
||||||
|
Loading…
Reference in New Issue
Block a user