deploy: add k3s test image pipeline
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class DeploymentContract(unittest.TestCase):
|
||||
def test_container_builds_web_and_server_in_one_image(self):
|
||||
dockerfile = (ROOT / "Dockerfile").read_text()
|
||||
self.assertIn("pnpm install --frozen-lockfile", dockerfile)
|
||||
self.assertIn("pnpm run build", dockerfile)
|
||||
self.assertIn("gf pack resource internal/packed/packed.go", dockerfile)
|
||||
self.assertIn("go build", dockerfile)
|
||||
self.assertIn("/app/resource/public/admin", dockerfile)
|
||||
self.assertIn('ENTRYPOINT ["/app/hotgo"]', dockerfile)
|
||||
|
||||
def test_container_excludes_local_and_generated_files(self):
|
||||
dockerignore = (ROOT / ".dockerignore").read_text().splitlines()
|
||||
for ignored in (".git", "web/node_modules", "web/dist", "server/temp"):
|
||||
self.assertIn(ignored, dockerignore)
|
||||
|
||||
def test_manual_workflow_builds_and_rolls_out_test_image(self):
|
||||
workflow = (ROOT / ".gitea/workflows/deploy.yml").read_text()
|
||||
self.assertIn("workflow_dispatch:", workflow)
|
||||
self.assertIn("git.118im.com/im_team/olons-admin", workflow)
|
||||
self.assertIn("deployment/olons-admin", workflow)
|
||||
self.assertIn("-n olons-admin-system", workflow)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user