diff --git a/.github/workflows/grpc.yml b/.github/workflows/grpc-3.2.yml similarity index 100% rename from .github/workflows/grpc.yml rename to .github/workflows/grpc-3.2.yml diff --git a/.github/workflows/grpc-3.4.yml b/.github/workflows/grpc-3.4.yml new file mode 100644 index 0000000..9777240 --- /dev/null +++ b/.github/workflows/grpc-3.4.yml @@ -0,0 +1,37 @@ +name: "aws-lambda-ruby-grpc:3.4" + +on: + pull_request: + paths: + - "grpc/ruby-3.4/Dockerfile" + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up QEMU (for emulation) + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + driver: docker-container + driver-opts: image=moby/buildkit:master + + - name: Log in to Docker Hub Container Registry + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: ./grpc/ruby-3.4/ + file: ./grpc/ruby-3.4/Dockerfile + push: true + platforms: linux/amd64,linux/arm64 + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/aws-lambda-ruby-grpc:3.4 diff --git a/grpc/ruby-3.4/Dockerfile b/grpc/ruby-3.4/Dockerfile new file mode 100644 index 0000000..865e3d7 --- /dev/null +++ b/grpc/ruby-3.4/Dockerfile @@ -0,0 +1,17 @@ +FROM public.ecr.aws/lambda/ruby:3.4 + +RUN dnf update -y && \ + dnf install -y \ + ruby-devel \ + make gcc gcc-c++ \ + openssl-devel zlib-devel libffi-devel \ + git patch tar && \ + dnf clean all + +COPY Gemfile . +COPY Gemfile.lock . + +RUN bundle config set deployment true && \ + bundle config set without 'test development' + +RUN BUNDLE_FORCE_RUBY_PLATFORM=true bundle diff --git a/grpc/ruby-3.4/Gemfile b/grpc/ruby-3.4/Gemfile new file mode 100644 index 0000000..a957f6c --- /dev/null +++ b/grpc/ruby-3.4/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'grpc' diff --git a/grpc/ruby-3.4/Gemfile.lock b/grpc/ruby-3.4/Gemfile.lock new file mode 100644 index 0000000..e175f54 --- /dev/null +++ b/grpc/ruby-3.4/Gemfile.lock @@ -0,0 +1,22 @@ +GEM + remote: https://rubygems.org/ + specs: + bigdecimal (3.2.2) + google-protobuf (4.32.0) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.20.0) + google-protobuf (>= 3.18, < 5.a) + grpc (1.74.1) + google-protobuf (>= 3.25, < 5.0) + googleapis-common-protos-types (~> 1.0) + rake (13.3.0) + +PLATFORMS + ruby + +DEPENDENCIES + grpc + +BUNDLED WITH + 2.7.1