Monkeypatch environment variables for consistency

This commit is contained in:
object-Object 2023-10-25 02:56:03 -04:00
parent 5422b7a928
commit fb16bd7875
5 changed files with 637 additions and 631 deletions

View file

@ -70,8 +70,6 @@ jobs:
test:
runs-on: ubuntu-latest
needs: [hexdoc]
env:
GITHUB_PAGES_URL: ${{ needs.hexdoc.outputs.pages-url }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4

View file

@ -355,7 +355,7 @@ function doCycleTexturesForever() {
cycleTimeoutID = setTimeout(doCycleTexturesForever, 2000);
}
// these are filled by Jinja
const BOOK_URL = "https://object-object.github.io/HexMod";
const BOOK_URL = "GITHUB_PAGES_URL";
const VERSION = "latest";
const LANG = "en_us";
// Creates an element in the form `<li><a href=${href}>${text}</a></li>`

View file

@ -1,7 +1,7 @@
.texture-hexcasting-item-colorizer-dye_black-png {
animation: texture-hexcasting-item-colorizer-dye_black-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_black.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_black.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_black-png {
0%, 17.23% { background-position-y: 0px }
@ -38,7 +38,7 @@
.texture-hexcasting-item-colorizer-dye_blue-png {
animation: texture-hexcasting-item-colorizer-dye_blue-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_blue.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_blue.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_blue-png {
0%, 17.23% { background-position-y: 0px }
@ -75,7 +75,7 @@
.texture-hexcasting-item-colorizer-dye_brown-png {
animation: texture-hexcasting-item-colorizer-dye_brown-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_brown.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_brown.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_brown-png {
0%, 17.23% { background-position-y: 0px }
@ -112,7 +112,7 @@
.texture-hexcasting-item-colorizer-dye_cyan-png {
animation: texture-hexcasting-item-colorizer-dye_cyan-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_cyan.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_cyan.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_cyan-png {
0%, 17.23% { background-position-y: 0px }
@ -149,7 +149,7 @@
.texture-hexcasting-item-colorizer-dye_gray-png {
animation: texture-hexcasting-item-colorizer-dye_gray-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_gray.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_gray.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_gray-png {
0%, 17.23% { background-position-y: 0px }
@ -186,7 +186,7 @@
.texture-hexcasting-item-colorizer-dye_green-png {
animation: texture-hexcasting-item-colorizer-dye_green-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_green.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_green.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_green-png {
0%, 17.23% { background-position-y: 0px }
@ -223,7 +223,7 @@
.texture-hexcasting-item-colorizer-dye_light_blue-png {
animation: texture-hexcasting-item-colorizer-dye_light_blue-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_light_blue.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_light_blue.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_light_blue-png {
0%, 17.23% { background-position-y: 0px }
@ -260,7 +260,7 @@
.texture-hexcasting-item-colorizer-dye_light_gray-png {
animation: texture-hexcasting-item-colorizer-dye_light_gray-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_light_gray.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_light_gray.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_light_gray-png {
0%, 17.23% { background-position-y: 0px }
@ -297,7 +297,7 @@
.texture-hexcasting-item-colorizer-dye_lime-png {
animation: texture-hexcasting-item-colorizer-dye_lime-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_lime.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_lime.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_lime-png {
0%, 17.23% { background-position-y: 0px }
@ -334,7 +334,7 @@
.texture-hexcasting-item-colorizer-dye_magenta-png {
animation: texture-hexcasting-item-colorizer-dye_magenta-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_magenta.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_magenta.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_magenta-png {
0%, 17.23% { background-position-y: 0px }
@ -371,7 +371,7 @@
.texture-hexcasting-item-colorizer-dye_orange-png {
animation: texture-hexcasting-item-colorizer-dye_orange-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_orange.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_orange.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_orange-png {
0%, 17.23% { background-position-y: 0px }
@ -408,7 +408,7 @@
.texture-hexcasting-item-colorizer-dye_pink-png {
animation: texture-hexcasting-item-colorizer-dye_pink-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_pink.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_pink.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_pink-png {
0%, 17.23% { background-position-y: 0px }
@ -445,7 +445,7 @@
.texture-hexcasting-item-colorizer-dye_purple-png {
animation: texture-hexcasting-item-colorizer-dye_purple-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_purple.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_purple.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_purple-png {
0%, 17.23% { background-position-y: 0px }
@ -482,7 +482,7 @@
.texture-hexcasting-item-colorizer-dye_red-png {
animation: texture-hexcasting-item-colorizer-dye_red-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_red.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_red.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_red-png {
0%, 17.23% { background-position-y: 0px }
@ -519,7 +519,7 @@
.texture-hexcasting-item-colorizer-dye_white-png {
animation: texture-hexcasting-item-colorizer-dye_white-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_white.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_white.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_white-png {
0%, 17.23% { background-position-y: 0px }
@ -556,7 +556,7 @@
.texture-hexcasting-item-colorizer-dye_yellow-png {
animation: texture-hexcasting-item-colorizer-dye_yellow-png 2.9s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_yellow.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/dye_yellow.png");
}
@keyframes texture-hexcasting-item-colorizer-dye_yellow-png {
0%, 17.23% { background-position-y: 0px }
@ -593,7 +593,7 @@
.texture-hexcasting-item-colorizer-pride_agender-png {
animation: texture-hexcasting-item-colorizer-pride_agender-png 2.95s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_agender.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_agender.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_agender-png {
0%, 16.94% { background-position-y: 0px }
@ -632,7 +632,7 @@
.texture-hexcasting-item-colorizer-pride_aroace-png {
animation: texture-hexcasting-item-colorizer-pride_aroace-png 2.6s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_aroace.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_aroace.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_aroace-png {
0%, 19.22% { background-position-y: 0px }
@ -670,7 +670,7 @@
.texture-hexcasting-item-colorizer-pride_aromantic-png {
animation: texture-hexcasting-item-colorizer-pride_aromantic-png 2.6s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_aromantic.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_aromantic.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_aromantic-png {
0%, 19.22% { background-position-y: 0px }
@ -708,7 +708,7 @@
.texture-hexcasting-item-colorizer-pride_asexual-png {
animation: texture-hexcasting-item-colorizer-pride_asexual-png 2.95s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_asexual.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_asexual.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_asexual-png {
0%, 16.94% { background-position-y: 0px }
@ -747,7 +747,7 @@
.texture-hexcasting-item-colorizer-pride_bisexual-png {
animation: texture-hexcasting-item-colorizer-pride_bisexual-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_bisexual.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_bisexual.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_bisexual-png {
0%, 15.14% { background-position-y: 0px }
@ -790,7 +790,7 @@
.texture-hexcasting-item-colorizer-pride_demiboy-png {
animation: texture-hexcasting-item-colorizer-pride_demiboy-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_demiboy.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_demiboy.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_demiboy-png {
0%, 15.14% { background-position-y: 0px }
@ -833,7 +833,7 @@
.texture-hexcasting-item-colorizer-pride_demigirl-png {
animation: texture-hexcasting-item-colorizer-pride_demigirl-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_demigirl.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_demigirl.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_demigirl-png {
0%, 15.14% { background-position-y: 0px }
@ -876,7 +876,7 @@
.texture-hexcasting-item-colorizer-pride_gay-png {
animation: texture-hexcasting-item-colorizer-pride_gay-png 2.6s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_gay.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_gay.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_gay-png {
0%, 19.22% { background-position-y: 0px }
@ -914,7 +914,7 @@
.texture-hexcasting-item-colorizer-pride_genderfluid-png {
animation: texture-hexcasting-item-colorizer-pride_genderfluid-png 2.6s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_genderfluid.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_genderfluid.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_genderfluid-png {
0%, 19.22% { background-position-y: 0px }
@ -952,7 +952,7 @@
.texture-hexcasting-item-colorizer-pride_genderqueer-png {
animation: texture-hexcasting-item-colorizer-pride_genderqueer-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_genderqueer.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_genderqueer.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_genderqueer-png {
0%, 15.14% { background-position-y: 0px }
@ -995,7 +995,7 @@
.texture-hexcasting-item-colorizer-pride_intersex-png {
animation: texture-hexcasting-item-colorizer-pride_intersex-png 2.1s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_intersex.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_intersex.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_intersex-png {
0%, 23.8% { background-position-y: 0px }
@ -1032,7 +1032,7 @@
.texture-hexcasting-item-colorizer-pride_lesbian-png {
animation: texture-hexcasting-item-colorizer-pride_lesbian-png 2.6s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_lesbian.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_lesbian.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_lesbian-png {
0%, 19.22% { background-position-y: 0px }
@ -1070,7 +1070,7 @@
.texture-hexcasting-item-colorizer-pride_nonbinary-png {
animation: texture-hexcasting-item-colorizer-pride_nonbinary-png 2.95s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_nonbinary.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_nonbinary.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_nonbinary-png {
0%, 16.94% { background-position-y: 0px }
@ -1109,7 +1109,7 @@
.texture-hexcasting-item-colorizer-pride_pansexual-png {
animation: texture-hexcasting-item-colorizer-pride_pansexual-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_pansexual.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_pansexual.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_pansexual-png {
0%, 15.14% { background-position-y: 0px }
@ -1152,7 +1152,7 @@
.texture-hexcasting-item-colorizer-pride_plural-png {
animation: texture-hexcasting-item-colorizer-pride_plural-png 2.95s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_plural.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_plural.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_plural-png {
0%, 16.94% { background-position-y: 0px }
@ -1191,7 +1191,7 @@
.texture-hexcasting-item-colorizer-pride_transgender-png {
animation: texture-hexcasting-item-colorizer-pride_transgender-png 3.3s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_transgender.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/pride_transgender.png");
}
@keyframes texture-hexcasting-item-colorizer-pride_transgender-png {
0%, 15.14% { background-position-y: 0px }
@ -1234,7 +1234,7 @@
.texture-hexcasting-item-colorizer-uuid-png {
animation: texture-hexcasting-item-colorizer-uuid-png 2.05s linear infinite;
background-size: 32px;
background-image: url("https://raw.githubusercontent.com/object-Object/HexMod/docgen-2-1.20/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/uuid.png");
background-image: url("DEBUG_GITHUBUSERCONTENT/Common/src/main/resources/assets/hexcasting/textures/item/colorizer/uuid.png");
}
@keyframes texture-hexcasting-item-colorizer-uuid-png {
0%, 24.38% { background-position-y: 0px }

View file

@ -4,7 +4,7 @@ import subprocess
from pathlib import Path
import pytest
from pytest import TempPathFactory
from pytest import MonkeyPatch, TempPathFactory
from syrupy.assertion import SnapshotAssertion
from hexdoc.cli.main import render
@ -21,6 +21,14 @@ RENDERED_FILENAMES = [
]
@pytest.fixture(autouse=True)
def patch_env(monkeypatch: MonkeyPatch):
monkeypatch.setenv("GITHUB_REPOSITORY", "GITHUB_REPOSITORY")
monkeypatch.setenv("GITHUB_SHA", "GITHUB_SHA")
monkeypatch.setenv("GITHUB_PAGES_URL", "GITHUB_PAGES_URL")
monkeypatch.setenv("DEBUG_GITHUBUSERCONTENT", "DEBUG_GITHUBUSERCONTENT")
@pytest.fixture(scope="session")
def app_output_dir(tmp_path_factory: TempPathFactory) -> Path:
return tmp_path_factory.mktemp("app", numbered=False)