name: CI on: push: branches: [ master, develop, main ] pull_request: branches: [ master, develop, main ] jobs: container-test-job: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Set up Docker uses: actions/setup-docker@v2 with: dockerfile-path: ./Dockerfile # Specify the path to your Dockerfile - name: Build Docker image run: docker build -t your-docker-image-name:latest . - name: Run Docker container run: docker run -d -p 3000:3000 your-docker-image-name:latest - name: Wait for Rails to start run: docker exec $(docker ps -q) sh -c 'until nc -z localhost 3000; do sleep 1; done' - name: Run Rails tests run: docker exec $(docker ps -q) bundle exec rails test