build: Ephemeral environments for PRs via slash command (#13189)

* First pass at ephemeral env, new Docker ci target

* Add service checks, get public IP

* Separate issue_comment and workflow_run jobs

* Refactor workflows

* Adjust comment author association

* Checkout code

* Fix image name, manage service desired task count

* Use merge commit sha

* Fix IP output, add failure comment

* Refactor comment parsing & env spinup

* Check container image publish status

* Parse AWS account ID from registry URL

* Use PR number rather than variable merge commit SHA for image tag

* Fix docker push conditional

* Push multiple tags to ECR

* Fix comment author check

* Refactor comment body check

* Provision service with active task to get correct IP

* /testenv up

* Add @mentions to PR comments, env var cleanup
This commit is contained in:
Rob DiCiuccio
2021-02-24 10:50:52 -08:00
committed by GitHub
parent 29d6420ecc
commit 27f7d1157f
6 changed files with 368 additions and 0 deletions

View File

@@ -131,3 +131,17 @@ RUN cd /app \
&& pip install --no-cache -r requirements/docker.txt \
&& pip install --no-cache -r requirements/requirements-local.txt || true
USER superset
######################################################################
# CI image...
######################################################################
FROM lean AS ci
COPY --chown=superset ./docker/docker-bootstrap.sh /app/docker/
COPY --chown=superset ./docker/docker-init.sh /app/docker/
COPY --chown=superset ./docker/docker-ci.sh /app/docker/
RUN chmod a+x /app/docker/*.sh
CMD /app/docker/docker-ci.sh