Skip to content

Commit

Permalink
Add GitHub Action to build Cloud Framework containers
Browse files Browse the repository at this point in the history
  • Loading branch information
hach-que committed Jan 14, 2025
1 parent 1ef6c08 commit 755249b
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/cf-containers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Cloud Framework Containers

on: workflow_dispatch

jobs:
pubsub-container:
name: "Build Pub/Sub Container"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build Container
run: |
cd build
docker build . -f UET/Lib/Container/pubsub.Dockerfile --tag ghcr.io/redpointgames/uet/pubsub-emulator:latest
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
if: github.ref == 'refs/heads/main'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push Container
if: github.ref == 'refs/heads/main'
run: |
docker push ghcr.io/redpointgames/uet/pubsub-emulator:latest
datastore-container:
name: "Build Datastore Container"
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build Container
run: |
cd build
docker build . -f UET/Lib/Container/datastore.Dockerfile --tag ghcr.io/redpointgames/uet/datastore-emulator:latest
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
if: github.ref == 'refs/heads/main'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push Container
if: github.ref == 'refs/heads/main'
run: |
docker push ghcr.io/redpointgames/uet/datastore-emulator:latest
12 changes: 12 additions & 0 deletions UET/Lib/Container/datastore.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM gcr.io/google.com/cloudsdktool/cloud-sdk:latest

EXPOSE 9001
ENV CLOUDSDK_CORE_PROJECT local-dev

# DO NOT UNDER ANY CIRCUMSTANCES ADD THE --use-firestore-in-datastore-mode FLAG
#
# This flag does not properly emulate "Firestore in Datastore mode" and *actively* breaks
# transaction integrity in the emulator, leading to transaction commits going through
# when they should fail with contention errors.
#
ENTRYPOINT [ "gcloud", "beta", "emulators", "datastore", "start", "--host-port=0.0.0.0:9001", "--no-store-on-disk", "--consistency=1.0" ]
6 changes: 6 additions & 0 deletions UET/Lib/Container/pubsub.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM gcr.io/google.com/cloudsdktool/cloud-sdk:latest

EXPOSE 9000
ENV CLOUDSDK_CORE_PROJECT local-dev

ENTRYPOINT [ "gcloud", "beta", "emulators", "pubsub", "start", "--host-port=0.0.0.0:9000" ]

0 comments on commit 755249b

Please sign in to comment.