Skip to content

Commit 1b8b4e2

Browse files
committed
trigger build on default branch
1 parent 13351a5 commit 1b8b4e2

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

readthedocs/core/utils/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ def prepare_build(
9696

9797
if not version:
9898
version = project.versions.get(slug=LATEST)
99+
if not version.active:
100+
default_version_slug = project.default_branch
101+
version = project.versions.get(slug=default_version_slug)
99102

100103
kwargs = {
101104
'version_pk': version.pk,

readthedocs/rtd_tests/tests/test_core_utils.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from readthedocs.projects.tasks import remove_dirs
1515
from readthedocs.core.utils import slugify, trigger_build
1616
from readthedocs.projects.models import Project
17+
from readthedocs.builds.constants import LATEST
1718

1819

1920
class CoreUtilTests(TestCase):
@@ -33,6 +34,34 @@ def test_trigger_skipped_project(self, update_docs_task):
3334
self.assertEqual(result, (None, None))
3435
self.assertFalse(update_docs_task.signature.called)
3536
self.assertFalse(update_docs_task.signature().apply_async.called)
37+
38+
@mock.patch('readthedocs.projects.tasks.update_docs_task')
39+
def test_trigger_build_when_latest_is_not_activated(self, update_docs_task):
40+
self.assertFalse(Version.objects.filter(slug='test-slug').exists())
41+
42+
project_1 = get(Project)
43+
version_1 = get(Version, project=project_1, slug='test-slug')
44+
active_version = project_1.versions.filter(slug=LATEST).update(active=False)
45+
46+
project_1.default_branch = 'test-slug'
47+
project_1.save()
48+
49+
trigger_build(project=project_1)
50+
kwargs = {
51+
'version_pk': version_1.pk,
52+
'record': True,
53+
'force': False,
54+
'build_pk': mock.ANY,
55+
}
56+
57+
update_docs_task.signature.assert_has_calls([
58+
mock.call(
59+
args=(project_1.pk,),
60+
kwargs=kwargs,
61+
options=mock.ANY,
62+
immutable=True,
63+
),
64+
])
3665

3766
@mock.patch('readthedocs.projects.tasks.update_docs_task')
3867
def test_trigger_custom_queue(self, update_docs):

0 commit comments

Comments
 (0)