about summary refs log tree commit diff
path: root/.github/workflows
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-10-14 14:35:46 +0200
committerzowoq <59103226+zowoq@users.noreply.github.com>2022-10-15 09:09:24 +1000
commit9b480c2739ea36b52971ff7f8c8d7246af9f38b5 (patch)
tree65d3ba9a992f9742e61138e46458cc1bb2d15b8e /.github/workflows
parentac181c2752cba42833cfbf5e4707692f02e73972 (diff)
.github/workflows: use ofborg-eval context for pending status
Instead of adding a pending status with context `Wait for ofborg`, make
the context `ofborg-eval` and the description "Wait for OfBorg...". That
way, the status will be reused by OfBorg when it starts evaluation and
we don't need to clear it any more.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/ofborg-pending.yml33
-rw-r--r--.github/workflows/pending-clear.yml26
-rw-r--r--.github/workflows/pending-set.yml30
3 files changed, 33 insertions, 56 deletions
diff --git a/.github/workflows/ofborg-pending.yml b/.github/workflows/ofborg-pending.yml
new file mode 100644
index 0000000000000..b5e0a7c46c8c1
--- /dev/null
+++ b/.github/workflows/ofborg-pending.yml
@@ -0,0 +1,33 @@
+name: "Set pending OfBorg status"
+on:
+  pull_request_target:
+
+# Sets the ofborg-eval status to "pending" to signal that we are waiting for
+# OfBorg even if it is running late. The status will be overwritten by OfBorg
+# once it starts evaluation.
+
+# WARNING:
+# When extending this action, be aware that $GITHUB_TOKEN allows (restricted) write access to
+# the GitHub repository. This means that it should not evaluate user input in a
+# way that allows code injection.
+
+permissions:
+  contents: read
+
+jobs:
+  action:
+    if: github.repository_owner == 'NixOS'
+    permissions:
+      statuses: write
+    runs-on: ubuntu-latest
+    steps:
+    - name: "Set pending OfBorg status"
+      env:
+        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      run: |
+        curl \
+          -X POST \
+          -H "Accept: application/vnd.github.v3+json" \
+          -H "Authorization: Bearer $GITHUB_TOKEN" \
+          -d '{"context": "ofborg-eval", "state": "pending", "description": "Waiting for OfBorg..."}' \
+          "https://api.github.com/repos/NixOS/nixpkgs/commits/${{ github.event.pull_request.head.sha }}/statuses"
diff --git a/.github/workflows/pending-clear.yml b/.github/workflows/pending-clear.yml
deleted file mode 100644
index 7e8960597e5c6..0000000000000
--- a/.github/workflows/pending-clear.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: "clear pending status"
-
-on:
-  check_suite:
-    types: [ completed ]
-
-permissions:
-  contents: read
-
-jobs:
-  action:
-    permissions:
-      statuses: write
-    runs-on: ubuntu-latest
-    steps:
-    - name: clear pending status
-      if: github.repository_owner == 'NixOS' && github.event.check_suite.app.name == 'OfBorg'
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      run: |
-        curl \
-          -X POST \
-          -H "Accept: application/vnd.github.v3+json" \
-          -H "Authorization: token $GITHUB_TOKEN" \
-          -d '{"state": "success", "target_url": " ", "description": " ", "context": "Wait for ofborg"}' \
-          "https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.check_suite.head_sha }}"
diff --git a/.github/workflows/pending-set.yml b/.github/workflows/pending-set.yml
deleted file mode 100644
index 0dc3031d87c08..0000000000000
--- a/.github/workflows/pending-set.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: "set pending status"
-
-on:
-  pull_request_target:
-
-# WARNING:
-# When extending this action, be aware that $GITHUB_TOKEN allows write access to
-# the GitHub repository. This means that it should not evaluate user input in a
-# way that allows code injection.
-
-permissions:
-  contents: read
-
-jobs:
-  action:
-    permissions:
-      statuses: write
-    runs-on: ubuntu-latest
-    steps:
-    - name: set pending status
-      if: github.repository_owner == 'NixOS'
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      run: |
-        curl \
-          -X POST \
-          -H "Accept: application/vnd.github.v3+json" \
-          -H "Authorization: token $GITHUB_TOKEN" \
-          -d '{"state": "pending", "target_url": " ", "description": "This pending status will be cleared when ofborg starts eval.", "context": "Wait for ofborg"}' \
-          "https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.pull_request.head.sha }}"