ci: trigger schutzbot from github action
Previously, we had a webhook relay. It received a notification from Github and sent it to AWS SQS. Now, the webhook is dead. The new method (already used in osbuild-composer and image-builder) is to send the notification directly from a github action to AWS SQS.
This commit is contained in:
parent
14fc39e416
commit
dd9099c53a
2 changed files with 50 additions and 0 deletions
18
.github/workflows/tests.yml
vendored
18
.github/workflows/tests.yml
vendored
|
|
@ -107,3 +107,21 @@ jobs:
|
||||||
with:
|
with:
|
||||||
ignore_words_list: msdos
|
ignore_words_list: msdos
|
||||||
skip: ./.git,coverity,rpmbuild,samples
|
skip: ./.git,coverity,rpmbuild,samples
|
||||||
|
|
||||||
|
schutzbot:
|
||||||
|
name: "🍌 Trigger Schutzbot"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: docker.io/library/python:3.7
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Trigger Schutzbot
|
||||||
|
env:
|
||||||
|
EVENT_NAME: ${{ github.event_name }}
|
||||||
|
WEBHOOK_PAYLOAD: ${{ toJSON(github.event) }}
|
||||||
|
SQS_REGION: us-east-1
|
||||||
|
SQS_QUEUE_URL: "https://sqs.us-east-1.amazonaws.com/933752197999/schutzbot_webhook_sqs-staging"
|
||||||
|
run: |
|
||||||
|
#!/bin/bash
|
||||||
|
pip3 install boto3 botocore
|
||||||
|
schutzbot/send_webhook.py
|
||||||
|
|
|
||||||
32
schutzbot/send_webhook.py
Executable file
32
schutzbot/send_webhook.py
Executable file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
# Trigger a webhook event for Schutzbot using AWS SQS.
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
import boto3
|
||||||
|
from botocore import UNSIGNED
|
||||||
|
from botocore.client import Config
|
||||||
|
|
||||||
|
WEBHOOK_PAYLOAD = os.environ.get("WEBHOOK_PAYLOAD")
|
||||||
|
EVENT_NAME = os.environ.get("EVENT_NAME")
|
||||||
|
SQS_QUEUE_URL = os.environ.get("SQS_QUEUE_URL")
|
||||||
|
SQS_REGION = os.environ.get("SQS_REGION")
|
||||||
|
|
||||||
|
sqs = boto3.client(
|
||||||
|
'sqs',
|
||||||
|
region_name=SQS_REGION,
|
||||||
|
config=Config(
|
||||||
|
signature_version=UNSIGNED
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
payload = json.loads(WEBHOOK_PAYLOAD)
|
||||||
|
message = {
|
||||||
|
'headers': {'X-Github-Event': EVENT_NAME},
|
||||||
|
'payload': payload
|
||||||
|
}
|
||||||
|
|
||||||
|
response = sqs.send_message(
|
||||||
|
QueueUrl=SQS_QUEUE_URL,
|
||||||
|
MessageBody=json.dumps(message)
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue