Skip to content

Commit

Permalink
ci: on demand PR actions (openfoodfacts#10577)
Browse files Browse the repository at this point in the history
Adding some actions that can be triggered from PR comments...
  • Loading branch information
alexgarel authored Jul 23, 2024
1 parent 1a8e82b commit b815a4e
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 3 deletions.
72 changes: 72 additions & 0 deletions .github/workflows/pr_actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# This file contains actions that can be performed on PRs by issuing a comment
name: 🕹️ On demand PR action

on:
issue_comment:
types: [created, edited]

jobs:
# Action to update test results by issuing /lint
run_lint:
name: "On demand linting"
if: ${{ github.event.issue.pull_request }} && github.event.comment.body == '/lint'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
# grab the PR branch
ref: ${{ github.event.pull_request.head.ref }}
# We can't use GITHUB_TOKEN here because, github actions can't trigger actions
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
# So this is a personal access token
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
# we need origin/main to have comparison linting work !
- name: Fetch origin/main
run: git fetch origin main --depth=1
- name: Run linting
run: make lint front_lint
- name: Push changes if needed
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore: Linting changes"
branch: ${{ github.event.pull_request.head.ref }}
commit_user_name: Open Food Facts Bot
commit_user_email: [email protected]
commit_author: Open Food Facts Bot <[email protected]>
push_options: ""
status_options: '--untracked-files=no'
skip_dirty_check: false
create_branch: no

# Action to update test results by issuing /update_tests_results
update_test_results:
name: "On demand Update Tests Results"
if: ${{ github.event.issue.pull_request }} && github.event.comment.body == '/update_tests_results'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
# grab the PR branch
ref: ${{ github.event.pull_request.head.ref }}
# We can't use GITHUB_TOKEN here because, github actions can't trigger actions
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow
# So this is a personal access token
token: ${{ secrets.RELEASE_PLEASE_TOKEN }}
- name: Run update tests results
run: make update_tests_results
- name: Push changes if needed
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "test: Update tests results"
branch: ${{ github.event.pull_request.head.ref }}
commit_user_name: Open Food Facts Bot
commit_user_email: [email protected]
commit_author: Open Food Facts Bot <[email protected]>
push_options: ""
status_options: '--untracked-files=no'
skip_dirty_check: false
create_branch: no
10 changes: 7 additions & 3 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
# needs depth to run git log below
fetch-depth: 50
- name: build
run: make build container=backend
Expand All @@ -78,7 +79,10 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
fetch-depth: 1
# we need origin/main to have comparison linting work !
- name: Fetch origin/main
run: git fetch origin main --depth=1
- name: Download backend image from artifacts
uses: ishworkh/docker-image-artifact-download@v1
with:
Expand All @@ -101,7 +105,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
fetch-depth: 1
- name: Download backend image from artifacts
uses: ishworkh/docker-image-artifact-download@v1
with:
Expand Down Expand Up @@ -129,7 +133,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 50
fetch-depth: 1
- name: Download backend image from artifacts
uses: ishworkh/docker-image-artifact-download@v1
with:
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -495,8 +495,10 @@ clone_deps:
for dep in ${DEPS} ; do \
echo $$dep; \
if [ ! -d ${DEPS_DIR}/$$dep ]; then \
echo "Cloning $$dep"; \
git clone --filter=blob:none --sparse \
https://github.com/openfoodfacts/$$dep.git ${DEPS_DIR}/$$dep; \
echo "Cloned $$dep"; \
else \
cd ${DEPS_DIR}/$$dep && git pull; \
fi; \
Expand Down

0 comments on commit b815a4e

Please sign in to comment.