diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9adad75..8485ab4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,24 +16,29 @@ permissions: jobs: build: runs-on: ubuntu-latest - name: Ruby ${{ matrix.ruby }} - strategy: - matrix: - ruby: - - "3.1" + name: Ruby in Docker steps: - name: Checkout repo uses: actions/checkout@v4 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - bundler-cache: true + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker image + run: | + docker build -t ruby-test -f Dockerfile . + + - name: Run tests in Docker + run: | + docker run --rm \ + -v "$(pwd)":/app \ + -w /app \ + ruby-test \ + bundle exec rspec --require spec_helper - - name: Run the default task - run: bundle exec rspec --require spec_helper + - name: Check coverage file exists + run: test -f coverage/coverage.json - uses: qltysh/qlty-action/coverage@v1 with: diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..76170e7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ +FROM ruby:3.3 + +WORKDIR /app + +COPY . . + +RUN gem install bundler && bundle install