name: Samples Crystal clients on: push: paths: - samples/client/petstore/crystal/** pull_request: paths: - samples/client/petstore/crystal/** jobs: build: name: Build Crystal projects runs-on: ubuntu-latest strategy: fail-fast: false matrix: sample: # clients - samples/client/petstore/crystal/ services: petstore-api: image: swaggerapi/petstore ports: - 80:8080 env: SWAGGER_HOST: http://petstore.swagger.io SWAGGER_BASE_PATH: /v2 steps: - uses: actions/checkout@v5 - name: Install Crystal uses: crystal-lang/install-crystal@v1 - name: Shards Install run: shards install working-directory: ${{ matrix.sample }} - name: Run tests run: crystal spec working-directory: ${{ matrix.sample }}