Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on May 21, 2025. It is now read-only.

Commit 48a5613

Browse filesBrowse files
authored
Added GitHub Actions CI detection. (#265)
1 parent 39100a2 commit 48a5613
Copy full SHA for 48a5613

File tree

2 files changed

+55
-0
lines changed
Filter options

2 files changed

+55
-0
lines changed

‎codecov/__init__.py

Copy file name to clipboardExpand all lines: codecov/__init__.py
+27Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,33 @@ def main(*argv, **kwargs):
790790

791791
write(" Gitlab CI Detected")
792792

793+
# --------------
794+
# GitHub Actions
795+
# --------------
796+
elif os.getenv("GITHUB_ACTION"):
797+
# https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables
798+
query.update(
799+
dict(
800+
service="github",
801+
build=os.getenv("GITHUB_RUN_ID"),
802+
commit=os.getenv("GITHUB_SHA"),
803+
slug=os.getenv("GITHUB_REPOSITORY"),
804+
build_url="http://github.com/"
805+
+ os.getenv("GITHUB_REPOSITORY")
806+
+ "/actions/runs/"
807+
+ os.getenv("GITHUB_RUN_ID"),
808+
)
809+
)
810+
811+
if os.getenv("GITHUB_REF"):
812+
query["branch"] = os.getenv("GITHUB_REF").split("/", 3)[-1]
813+
if os.getenv("GITHUB_HEAD_REF"):
814+
# PR refs are in the format: refs/pull/7/merge
815+
query["pr"] = os.getenv("GITHUB_REF").split("/")[-2]
816+
query["branch"] = os.getenv("GITHUB_HEAD_REF")
817+
818+
write(" GitHub Actions CI Detected")
819+
793820
else:
794821
query.update(
795822
dict(

‎tests/test.py

Copy file name to clipboardExpand all lines: tests/test.py
+28Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -859,6 +859,7 @@ def test_ci_gitlab(self):
859859
HOME="/",
860860
CI_PROJECT_DIR=os.getcwd().strip("/"),
861861
CODECOV_TOKEN="token",
862+
CODECOV_NAME="name",
862863
)
863864
self.fake_report()
864865
res = self.run_cli()
@@ -869,6 +870,33 @@ def test_ci_gitlab(self):
869870
self.assertEqual(res["query"]["build"], "1399372237")
870871
self.assertEqual(res["query"]["slug"], "owner/repo")
871872
self.assertEqual(res["codecov"].token, "token")
873+
self.assertEqual(res["codecov"].name, "name")
874+
875+
@unittest.skipUnless(
876+
os.getenv("CI") == "true" and os.getenv("GITHUB_ACTION"),
877+
"Skip GitHub Actions CI test",
878+
)
879+
def test_ci_github(self):
880+
self.set_env(
881+
GITHUB_REF="master",
882+
GITHUB_RUN_ID="1399372237",
883+
GITHUB_REPOSITORY="owner/repo",
884+
GITHUB_ACTION="6de813bb999760c81f96f3cf5dbdcd51cead172f",
885+
GITHUB_SHA="d653b934ed59c1a785cc1cc79d08c9aaa4eba73b",
886+
HOME="/",
887+
CODECOV_TOKEN="token",
888+
CODECOV_NAME="name",
889+
)
890+
self.fake_report()
891+
res = self.run_cli()
892+
self.assertEqual(res["query"]["service"], "github")
893+
self.assertEqual(
894+
res["query"]["commit"], "d653b934ed59c1a785cc1cc79d08c9aaa4eba73b"
895+
)
896+
self.assertEqual(res["query"]["build"], "1399372237")
897+
self.assertEqual(res["query"]["slug"], "owner/repo")
898+
self.assertEqual(res["codecov"].token, "token")
899+
self.assertEqual(res["codecov"].name, "name")
872900

873901
@unittest.skip("Skip CI None")
874902
def test_ci_none(self):

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.