From 98ca5ffc3d3fbbadcfd52ad7c7a89b24e7c00891 Mon Sep 17 00:00:00 2001
From: Philippe Auriach
Date: Tue, 28 Feb 2023 17:52:22 +0100
Subject: [PATCH] Add support for merge group runs (#54)
* log merge group or payload to learn more about merge group
* Ignore run if running in a merge group
* Correct usage of merge group from payload
* add merge_group in sample
---
action.js | 10 ++++++++++
sample/workflows/asana.yml | 4 ++++
2 files changed, 14 insertions(+)
diff --git a/action.js b/action.js
index 9990540b6..66e1f7739 100644
--- a/action.js
+++ b/action.js
@@ -121,6 +121,7 @@ exports.findAsanaTaskId = function findAsanaTaskId({
exports.getActionParameters = function getActionParameters() {
const repository = github.context.payload.repository;
const pullRequest = github.context.payload.pull_request;
+ const mergeGroup = github.context.payload.merge_group;
const action = core.getInput("action", { required: true });
const triggerPhrase = core.getInput("trigger-phrase") || "";
const amplifyUri = core.getInput("amplify-uri") || "";
@@ -132,6 +133,7 @@ exports.getActionParameters = function getActionParameters() {
triggerPhrase,
amplifyUri,
storybookAmplifyUri,
+ mergeGroup,
};
};
@@ -338,7 +340,9 @@ async function checkIfCanMergeWithoutAsanaTask({ repository, pullRequest }) {
}
exports.action = async function action() {
+ // check if we run on a merge_group
const {
+ mergeGroup,
repository,
pullRequest,
action,
@@ -346,6 +350,12 @@ exports.action = async function action() {
amplifyUri,
storybookAmplifyUri,
} = exports.getActionParameters();
+
+ if (mergeGroup) {
+ console.log("Running on a merge group - skipping Asana integration");
+ return;
+ }
+
const taskId = exports.findAsanaTaskId({ triggerPhrase, pullRequest });
const asanaPRStatus = await exports.getAsanaPRStatus({
diff --git a/sample/workflows/asana.yml b/sample/workflows/asana.yml
index db1134b07..ffe38f5c6 100644
--- a/sample/workflows/asana.yml
+++ b/sample/workflows/asana.yml
@@ -1,6 +1,10 @@
name: Asana
on:
+ merge_group:
+ types:
+ - checks_requested
+
pull_request:
types:
- assigned