Gitea Actions support (#682)

This reworks the container to be usable with the Gitea act-runner and connect using TLS.

The directory structure is prepared so that a config.yml can be echoed into the container for authentication.

Co-authored-by: Pysen X <pysen@svartavillan.se>
Co-authored-by: Lunny Xiao <lunny@noreply.gitea.com>
Co-authored-by: techknowlogick <techknowlogick@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/tea/pulls/682
Reviewed-by: Lunny Xiao <lunny@noreply.gitea.com>
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com>
Co-authored-by: pysen <pysen@noreply.gitea.com>
Co-committed-by: pysen <pysen@noreply.gitea.com>
This commit is contained in:
pysen 2024-12-27 02:00:57 +00:00 committed by techknowlogick
parent 2fb291c6d4
commit 9de3fc8667
2 changed files with 42 additions and 5 deletions

View File

@ -1,10 +1,12 @@
FROM cgr.dev/chainguard/go:latest AS build
FROM docker.io/chainguard/go:latest AS build
COPY . /build/
WORKDIR /build
RUN make build
RUN make build && mkdir -p /app/.config/tea
FROM cgr.dev/chainguard/static:latest
COPY --from=build /build/tea /tea
FROM docker.io/chainguard/busybox:latest-glibc
COPY --from=build /build/tea /bin/tea
COPY --from=build --chown=65532:65532 /app /app
VOLUME [ "/app" ]
ENV HOME="/app"
ENTRYPOINT ["/tea"]
ENTRYPOINT ["/bin/sh", "-c"]
CMD [ "tea" ]

35
docs/example-workflows.md Normal file
View File

@ -0,0 +1,35 @@
# Gitea actions workflows
## Merge Pull request on approval
``` Yaml
---
name: Pull request
on:
pull_request_review:
types: [submitted, dismissed]
jobs:
approved:
name: Approved
if: gitea.event.review.type == 'pull_request_review_approved'
container:
image: docker.io/pysen/tea:latest
runs-on: ubuntu-latest
steps:
- name: Configure Tea
env:
# This is a tea config.yml with (service) account token
TEA_CREDENTIALS: ${{ secrets.TEA_CREDENTIALS }}
run: |
echo "$TEA_CREDENTIALS" > $HOME/.config/tea/config.yml
- name: Rebase then fast-forward merge Git
run: |
tea pr merge --repo ${{ gitea.event.repository.full_name }} --style rebase ${{ gitea.event.pull_request.number }}
dismissed:
name: Dismissed
if: gitea.event.review.type == 'pull_request_review_rejected'
runs-on: ubuntu-latest
steps:
- run: |
tea pr reject --repo ${{ gitea.event.repository.full_name }} ${{ gitea.event.pull_request.number }} "Dismissed"
```