fix: production app domains drop customer infix
This commit is contained in:
@@ -33,7 +33,7 @@ jobs:
|
|||||||
build-and-push:
|
build-and-push:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
@@ -68,7 +68,7 @@ jobs:
|
|||||||
[ -z "$_TOKEN" ] && _TOKEN="$DEVELOPER_GITEA_API_TOKEN"
|
[ -z "$_TOKEN" ] && _TOKEN="$DEVELOPER_GITEA_API_TOKEN"
|
||||||
[ -z "$_TOKEN" ] && _TOKEN="$CI_GITEA_TOKEN"
|
[ -z "$_TOKEN" ] && _TOKEN="$CI_GITEA_TOKEN"
|
||||||
if [ -z "$_TOKEN" ]; then echo "Gitea API token not set — skipping Docker login"; exit 1; fi
|
if [ -z "$_TOKEN" ]; then echo "Gitea API token not set — skipping Docker login"; exit 1; fi
|
||||||
echo "$_TOKEN" | docker login git.oblachno.oblachno.fyi -u "$CI_GITEA_USERNAME" --password-stdin
|
echo "$_TOKEN" | docker login git.oblachno.fyi -u "$CI_GITEA_USERNAME" --password-stdin
|
||||||
- name: Build and push tier images
|
- name: Build and push tier images
|
||||||
if: >-
|
if: >-
|
||||||
github.event_name == 'workflow_dispatch' ||
|
github.event_name == 'workflow_dispatch' ||
|
||||||
@@ -88,21 +88,21 @@ jobs:
|
|||||||
--dockerfile docker/ci-base/Dockerfile \
|
--dockerfile docker/ci-base/Dockerfile \
|
||||||
--name oblachno-oss/runner-images/ci-base \
|
--name oblachno-oss/runner-images/ci-base \
|
||||||
--tag latest \
|
--tag latest \
|
||||||
--registry git.oblachno.oblachno.fyi \
|
--registry git.oblachno.fyi \
|
||||||
--push --pull
|
--push --pull
|
||||||
# Build ci-quality (FROM ci-base-latest)
|
# Build ci-quality (FROM ci-base-latest)
|
||||||
python3 -m devx.tools.build_image \
|
python3 -m devx.tools.build_image \
|
||||||
--dockerfile docker/ci-quality/Dockerfile \
|
--dockerfile docker/ci-quality/Dockerfile \
|
||||||
--name oblachno-oss/runner-images/ci-quality \
|
--name oblachno-oss/runner-images/ci-quality \
|
||||||
--tag latest \
|
--tag latest \
|
||||||
--registry git.oblachno.oblachno.fyi \
|
--registry git.oblachno.fyi \
|
||||||
--push
|
--push
|
||||||
# Build ci-full (FROM ci-quality-latest)
|
# Build ci-full (FROM ci-quality-latest)
|
||||||
python3 -m devx.tools.build_image \
|
python3 -m devx.tools.build_image \
|
||||||
--dockerfile docker/ci-full/Dockerfile \
|
--dockerfile docker/ci-full/Dockerfile \
|
||||||
--name oblachno-oss/runner-images/ci-full \
|
--name oblachno-oss/runner-images/ci-full \
|
||||||
--tag latest \
|
--tag latest \
|
||||||
--registry git.oblachno.oblachno.fyi \
|
--registry git.oblachno.fyi \
|
||||||
--push
|
--push
|
||||||
- name: Notify on failure
|
- name: Notify on failure
|
||||||
if: failure()
|
if: failure()
|
||||||
@@ -124,7 +124,7 @@ jobs:
|
|||||||
if: always() && needs.build-and-push.result == 'success'
|
if: always() && needs.build-and-push.result == 'success'
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ jobs:
|
|||||||
validate:
|
validate:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
@@ -173,7 +173,7 @@ jobs:
|
|||||||
needs.validate.result == 'success'
|
needs.validate.result == 'success'
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ jobs:
|
|||||||
detect-and-configure:
|
detect-and-configure:
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
@@ -109,7 +109,7 @@ jobs:
|
|||||||
if: always() && needs.detect-and-configure.result == 'success'
|
if: always() && needs.detect-and-configure.result == 'success'
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
|
||||||
credentials:
|
credentials:
|
||||||
username: ${{ vars.CI_GITEA_USERNAME }}
|
username: ${{ vars.CI_GITEA_USERNAME }}
|
||||||
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
password: ${{ secrets.CI_GITEA_API_TOKEN }}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
# Layers on top of ci-quality: adds release tools, molecule, deploy deps,
|
# Layers on top of ci-quality: adds release tools, molecule, deploy deps,
|
||||||
# git-cliff, and OpenTofu.
|
# git-cliff, and OpenTofu.
|
||||||
|
|
||||||
FROM git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-quality:latest
|
FROM git.oblachno.fyi/oblachno-oss/runner-images/ci-quality:latest
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#
|
#
|
||||||
# Layers on top of ci-base: adds lint tools + actionlint + checkmake.
|
# Layers on top of ci-base: adds lint tools + actionlint + checkmake.
|
||||||
|
|
||||||
FROM git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
FROM git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
|
||||||
|
|
||||||
# Install devx[lint] from local source (adds ruff, pyright, bandit, etc.)
|
# Install devx[lint] from local source (adds ruff, pyright, bandit, etc.)
|
||||||
COPY . /tmp/devx
|
COPY . /tmp/devx
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ def main() -> int:
|
|||||||
parser.add_argument("--dry-run", action="store_true", help="List without cancelling")
|
parser.add_argument("--dry-run", action="store_true", help="List without cancelling")
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--base-url",
|
"--base-url",
|
||||||
default=os.environ.get("GITEA_API_URL", "https://git.oblachno.oblachno.fyi"),
|
default=os.environ.get("GITEA_API_URL", "https://git.oblachno.fyi"),
|
||||||
help="Gitea base URL",
|
help="Gitea base URL",
|
||||||
)
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|||||||
+2
-2
@@ -68,8 +68,8 @@ def _get_int(key: str, env_var: str, default: int) -> int:
|
|||||||
|
|
||||||
|
|
||||||
# API endpoints — override via env vars for different Gitea/Vikunja instances
|
# API endpoints — override via env vars for different Gitea/Vikunja instances
|
||||||
GITEA_API_URL = _get("gitea_api_url", "DEVX_GITEA_API_URL", "https://git.oblachno.oblachno.fyi/api/v1")
|
GITEA_API_URL = _get("gitea_api_url", "DEVX_GITEA_API_URL", "https://git.oblachno.fyi/api/v1")
|
||||||
VIKUNJA_API_URL = _get("vikunja_api_url", "DEVX_VIKUNJA_API_URL", "https://work.oblachno.oblachno.fyi/api/v1")
|
VIKUNJA_API_URL = _get("vikunja_api_url", "DEVX_VIKUNJA_API_URL", "https://tasks.oblachno.fyi/api/v1")
|
||||||
|
|
||||||
# Organization defaults — each project MUST set DEVX_REPO_OWNER explicitly.
|
# Organization defaults — each project MUST set DEVX_REPO_OWNER explicitly.
|
||||||
# No default: prevents silent 404s when the wrong owner is used.
|
# No default: prevents silent 404s when the wrong owner is used.
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
# DEVX_TYPECHECK_PATHS — paths for pyright (default: empty — uses pyright config)
|
# DEVX_TYPECHECK_PATHS — paths for pyright (default: empty — uses pyright config)
|
||||||
# DEVX_COV_PKG — coverage package name (default: src/devx)
|
# DEVX_COV_PKG — coverage package name (default: src/devx)
|
||||||
# DEVX_TEST_PATHS — pytest paths (default: tests/)
|
# DEVX_TEST_PATHS — pytest paths (default: tests/)
|
||||||
# DEVX_GITEA_PYPI_HOST — Gitea PyPI host (default: git.oblachno.oblachno.fyi)
|
# DEVX_GITEA_PYPI_HOST — Gitea PyPI host (default: git.oblachno.fyi)
|
||||||
# DEVX_GITEA_PYPI_ORG — Gitea PyPI org (default: oblachno-oss)
|
# DEVX_GITEA_PYPI_ORG — Gitea PyPI org (default: oblachno-oss)
|
||||||
# DEVX_ACTIONLINT_CFG — actionlint config file (default: .gitea/actionlint.yaml)
|
# DEVX_ACTIONLINT_CFG — actionlint config file (default: .gitea/actionlint.yaml)
|
||||||
# DEVX_WORKFLOW_DIR — workflow directory (default: .gitea/workflows)
|
# DEVX_WORKFLOW_DIR — workflow directory (default: .gitea/workflows)
|
||||||
@@ -50,7 +50,7 @@ DEVX_BIN ?= $(DEVX_VENV)/bin
|
|||||||
DEVX_LINT_PATHS ?= src/ tests/
|
DEVX_LINT_PATHS ?= src/ tests/
|
||||||
DEVX_COV_PKG ?= src/devx
|
DEVX_COV_PKG ?= src/devx
|
||||||
DEVX_TEST_PATHS ?= tests/
|
DEVX_TEST_PATHS ?= tests/
|
||||||
DEVX_GITEA_PYPI_HOST ?= git.oblachno.oblachno.fyi
|
DEVX_GITEA_PYPI_HOST ?= git.oblachno.fyi
|
||||||
DEVX_GITEA_PYPI_ORG ?= oblachno-oss
|
DEVX_GITEA_PYPI_ORG ?= oblachno-oss
|
||||||
DEVX_ACTIONLINT_CFG ?= .gitea/actionlint.yaml
|
DEVX_ACTIONLINT_CFG ?= .gitea/actionlint.yaml
|
||||||
DEVX_WORKFLOW_DIR ?= .gitea/workflows
|
DEVX_WORKFLOW_DIR ?= .gitea/workflows
|
||||||
@@ -445,11 +445,11 @@ devx-setup-image:
|
|||||||
# ── Docker image build / push / cleanup ───────────────────────────────────────
|
# ── Docker image build / push / cleanup ───────────────────────────────────────
|
||||||
#
|
#
|
||||||
# Variables:
|
# Variables:
|
||||||
# DEVX_GITEA_REGISTRY — registry URL (default: git.oblachno.oblachno.fyi)
|
# DEVX_GITEA_REGISTRY — registry URL (default: git.oblachno.fyi)
|
||||||
# DEVX_IMAGE_MANIFEST — path to JSON manifest (default: docker/images.json)
|
# DEVX_IMAGE_MANIFEST — path to JSON manifest (default: docker/images.json)
|
||||||
# DEVX_IMAGE_OWNER — package owner for cleanup (default: oblachno-oss)
|
# DEVX_IMAGE_OWNER — package owner for cleanup (default: oblachno-oss)
|
||||||
|
|
||||||
DEVX_GITEA_REGISTRY ?= git.oblachno.oblachno.fyi
|
DEVX_GITEA_REGISTRY ?= git.oblachno.fyi
|
||||||
DEVX_IMAGE_MANIFEST ?= docker/images.json
|
DEVX_IMAGE_MANIFEST ?= docker/images.json
|
||||||
DEVX_IMAGE_OWNER ?= oblachno-oss
|
DEVX_IMAGE_OWNER ?= oblachno-oss
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ from pathlib import Path
|
|||||||
PLATFORMS: list[dict[str, str]] = [
|
PLATFORMS: list[dict[str, str]] = [
|
||||||
{
|
{
|
||||||
"name": "ubuntu-2604",
|
"name": "ubuntu-2604",
|
||||||
"image": "git.oblachno.oblachno.fyi/oblachno/molecule-test-base:latest",
|
"image": "git.oblachno.fyi/oblachno/molecule-test-base:latest",
|
||||||
"command": "sleep infinity",
|
"command": "sleep infinity",
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Usage::
|
|||||||
--dockerfile docker/ci-base/Dockerfile \\
|
--dockerfile docker/ci-base/Dockerfile \\
|
||||||
--tag ci-base:latest \\
|
--tag ci-base:latest \\
|
||||||
--tag ci-base:0.19.3 \\
|
--tag ci-base:0.19.3 \\
|
||||||
--registry git.oblachno.oblachno.fyi \\
|
--registry git.oblachno.fyi \\
|
||||||
--push
|
--push
|
||||||
|
|
||||||
# Build multiple images (from a manifest file)
|
# Build multiple images (from a manifest file)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ loading from environment variables. Supports required and optional modes.
|
|||||||
|
|
||||||
Usage::
|
Usage::
|
||||||
|
|
||||||
python3 -m devx.tools.docker_login --registry git.oblachno.oblachno.fyi \\
|
python3 -m devx.tools.docker_login --registry git.oblachno.fyi \\
|
||||||
--token-env CI_GITEA_TOKEN --username-env CI_GITEA_USERNAME \\
|
--token-env CI_GITEA_TOKEN --username-env CI_GITEA_USERNAME \\
|
||||||
--default-username emil
|
--default-username emil
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ def _configure_tea_login() -> None:
|
|||||||
click.echo("tea: Gitea API token not set — skipping login configuration.")
|
click.echo("tea: Gitea API token not set — skipping login configuration.")
|
||||||
return
|
return
|
||||||
|
|
||||||
api_url = os.environ.get("DEVX_GITEA_API_URL", "https://git.oblachno.oblachno.fyi/api/v1")
|
api_url = os.environ.get("DEVX_GITEA_API_URL", "https://git.oblachno.fyi/api/v1")
|
||||||
gitea_url = api_url.replace("/api/v1", "")
|
gitea_url = api_url.replace("/api/v1", "")
|
||||||
login_name = "devx"
|
login_name = "devx"
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ def _fallback_to_setup_ci() -> None:
|
|||||||
)
|
)
|
||||||
@click.option(
|
@click.option(
|
||||||
"--gitea-host",
|
"--gitea-host",
|
||||||
default="git.oblachno.oblachno.fyi",
|
default="git.oblachno.fyi",
|
||||||
show_default=True,
|
show_default=True,
|
||||||
help="Gitea host for the PyPI registry.",
|
help="Gitea host for the PyPI registry.",
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user