From ef5df36a8afb13b4f8296c28e86ee8cacc0f8123 Mon Sep 17 00:00:00 2001 From: Caspian Baska Date: Fri, 6 Aug 2021 17:40:32 +1000 Subject: [PATCH] Add nightly crystal to CI matrix (#2264) * Add nightly crystal to a spec matrix This project is very large and serves as a great test bed for breakages in nightly builds of crystal * Order crystal version in CI matrix * Add daily CI runs --- .github/workflows/ci.yml | 45 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99aac794..f98fe098 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,8 @@ name: Invidious CI on: + schedule: + - cron: "0 0 * * *" # Every day at 00:00 push: branches: - "master" @@ -23,32 +25,47 @@ on: jobs: build: - + runs-on: ubuntu-latest - + + name: "build - crystal: ${{ matrix.crystal }}, stable: ${{ matrix.stable }}" + + continue-on-error: ${{ !matrix.stable }} + + strategy: + fail-fast: false + matrix: + stable: [true] + crystal: + - 1.0.0 + - 1.1.0 + include: + - crystal: nightly + stable: false + steps: - uses: actions/checkout@v2 - + - name: Install Crystal uses: oprypin/install-crystal@v1.2.4 with: - crystal: 1.0.0 - + crystal: ${{ matrix.crystal }} + - name: Cache Shards uses: actions/cache@v2 with: path: ./lib key: shards-${{ hashFiles('shard.lock') }} - + - name: Install Shards run: | if ! shards check; then shards install fi - + - name: Run tests run: crystal spec - + - name: Run lint run: | if ! crystal tool format --check; then @@ -56,20 +73,20 @@ jobs: git diff exit 1 fi - + - name: Build run: crystal build --warnings all --error-on-warnings --error-trace src/invidious.cr - + build-docker: - + runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v2 - + - name: Build Docker run: docker-compose up -d - + - name: Test Docker run: while curl -Isf http://localhost:3000; do sleep 1; done