name: CI on: push: pull_request: branches: [master] schedule: - cron: "0 6 * * 1" jobs: build: strategy: fail-fast: false matrix: os: [ubuntu-latest] crystal: - latest runs-on: ${{ matrix.os }} container: crystallang/crystal:${{ matrix.crystal }}-alpine services: # Label used to access the service container sshtest: image: testcontainers/sshd:1.2.0 env: PASSWORD: somepassword steps: - uses: actions/checkout@v2 - name: Install LibSSH2 run: apk add --no-cache libssh2 libssh2-dev libssh2-static - name: Install dependencies run: shards install --ignore-crystal-version - name: Lint run: ./bin/ameba - name: Format run: crystal tool format --check - name: Run tests run: crystal spec -v --error-trace env: SPEC_SSH_HOST: sshtest