From 6f4420d1733eac11821c756e37d29d55eb3591d3 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Tue, 21 Feb 2023 13:41:20 +0100 Subject: [PATCH 1/2] Simulate a fake DB for psh build hook --- envs/remote.go | 20 +++++++++++++++++++- envs/remote_test.go | 15 ++++++++++++++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/envs/remote.go b/envs/remote.go index 47fdb9e1..8c15c74d 100644 --- a/envs/remote.go +++ b/envs/remote.go @@ -55,7 +55,25 @@ func (r *Remote) Relationships() Relationships { if r.Debug { fmt.Fprint(os.Stderr, "PLATFORM_RELATIONSHIPS env var does not exist\n") } - return nil + + // during the build hook, force a database version to avoid having Doctrine + // trying to connect to the DB to guess it (as the DB is not available yet). + res := make(Relationships) + res["database"] = []map[string]interface{}{{ + "host": "127.0.0.1", + "ip": "127.0.0.1", + "username": "fake-dsn-for-build-hook", + "password": "as-db-is-never-available-yet", + "path": "nowhere", + "port": "3306", + "query": map[string]bool{ + "is_master": true, + }, + "rel": "mysql", + "scheme": "mysql", + "type": "mysql:1337", + }} + return res } var err error diff --git a/envs/remote_test.go b/envs/remote_test.go index b3d511de..e8e144f2 100644 --- a/envs/remote_test.go +++ b/envs/remote_test.go @@ -256,7 +256,20 @@ func (s *RemoteSuite) TestDefaultRoute(c *C) { func (s *RemoteSuite) TestRelationships(c *C) { r := &Remote{} - c.Assert(extractRelationshipsEnvs(r), DeepEquals, Envs{}) + // build hook on psh + c.Assert(extractRelationshipsEnvs(r), DeepEquals, Envs{ + "DATABASE_DATABASE": "nowhere", + "DATABASE_DRIVER": "mysql", + "DATABASE_HOST": "127.0.0.1", + "DATABASE_NAME": "nowhere", + "DATABASE_PASSWORD": "as-db-is-never-available-yet", + "DATABASE_PORT": "3306", + "DATABASE_SERVER": "mysql://127.0.0.1:3306", + "DATABASE_URL": "mysql://fake-dsn-for-build-hook:as-db-is-never-available-yet@127.0.0.1:3306/nowhere?sslmode=disable&charset=utf8mb4&serverVersion=mariadb-1337.0", + "DATABASE_USER": "fake-dsn-for-build-hook", + "DATABASE_USERNAME": "fake-dsn-for-build-hook", + "DATABASE_VERSION": "mariadb-1337.0", + }) os.Setenv("PLATFORM_RELATIONSHIPS", "eyJzZWN1cml0eS1zZXJ2ZXIiOiBbeyJpcCI6ICIxNjkuMjU0LjI2LjIzMSIsICJob3N0IjogInNlY3VyaXR5LXNlcnZlci5pbnRlcm5hbCIsICJzY2hlbWUiOiAiaHR0cCIsICJwb3J0IjogODAsICJyZWwiOiAiaHR0cCJ9XSwgImRhdGFiYXNlIjogW3sidXNlcm5hbWUiOiAibWFpbiIsICJzY2hlbWUiOiAicGdzcWwiLCAiaXAiOiAiMTY5LjI1NC4xMjAuNDgiLCAiaG9zdCI6ICJkYXRhYmFzZS5pbnRlcm5hbCIsICJyZWwiOiAicG9zdGdyZXNxbCIsICJwYXRoIjogIm1haW4iLCAicXVlcnkiOiB7ImlzX21hc3RlciI6IHRydWV9LCAicGFzc3dvcmQiOiAibWFpbiIsICJwb3J0IjogNTQzMn1dfQ==") c.Assert(extractRelationshipsEnvs(r), DeepEquals, Envs{ From 36ee5f482962480bf64de90c7c75301393ae1e15 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 22 Feb 2023 08:16:57 +0100 Subject: [PATCH 2/2] Add more artifacts in CI to ease testing --- .github/workflows/releaser.yml | 8 ++++++++ envs/remote.go | 2 +- envs/remote_test.go | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index 0bbc8f95..c872b127 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -98,7 +98,15 @@ jobs: uses: actions/upload-artifact@v3 with: retention-days: 5 + name: binaries path: dist + - + name: Archive Linux binary + uses: actions/upload-artifact@v3 + with: + retention-days: 5 + name: linux-binary + path: dist/symfony-cli_linux_amd64.tar.gz - name: Install Cloudsmith CLI run: pip install --upgrade cloudsmith-cli diff --git a/envs/remote.go b/envs/remote.go index 8c15c74d..7e6b7eea 100644 --- a/envs/remote.go +++ b/envs/remote.go @@ -71,7 +71,7 @@ func (r *Remote) Relationships() Relationships { }, "rel": "mysql", "scheme": "mysql", - "type": "mysql:1337", + "type": "mysql:13.37", }} return res } diff --git a/envs/remote_test.go b/envs/remote_test.go index e8e144f2..dc738a4d 100644 --- a/envs/remote_test.go +++ b/envs/remote_test.go @@ -265,10 +265,10 @@ func (s *RemoteSuite) TestRelationships(c *C) { "DATABASE_PASSWORD": "as-db-is-never-available-yet", "DATABASE_PORT": "3306", "DATABASE_SERVER": "mysql://127.0.0.1:3306", - "DATABASE_URL": "mysql://fake-dsn-for-build-hook:as-db-is-never-available-yet@127.0.0.1:3306/nowhere?sslmode=disable&charset=utf8mb4&serverVersion=mariadb-1337.0", + "DATABASE_URL": "mysql://fake-dsn-for-build-hook:as-db-is-never-available-yet@127.0.0.1:3306/nowhere?sslmode=disable&charset=utf8mb4&serverVersion=mariadb-13.37.0", "DATABASE_USER": "fake-dsn-for-build-hook", "DATABASE_USERNAME": "fake-dsn-for-build-hook", - "DATABASE_VERSION": "mariadb-1337.0", + "DATABASE_VERSION": "mariadb-13.37.0", }) os.Setenv("PLATFORM_RELATIONSHIPS", "eyJzZWN1cml0eS1zZXJ2ZXIiOiBbeyJpcCI6ICIxNjkuMjU0LjI2LjIzMSIsICJob3N0IjogInNlY3VyaXR5LXNlcnZlci5pbnRlcm5hbCIsICJzY2hlbWUiOiAiaHR0cCIsICJwb3J0IjogODAsICJyZWwiOiAiaHR0cCJ9XSwgImRhdGFiYXNlIjogW3sidXNlcm5hbWUiOiAibWFpbiIsICJzY2hlbWUiOiAicGdzcWwiLCAiaXAiOiAiMTY5LjI1NC4xMjAuNDgiLCAiaG9zdCI6ICJkYXRhYmFzZS5pbnRlcm5hbCIsICJyZWwiOiAicG9zdGdyZXNxbCIsICJwYXRoIjogIm1haW4iLCAicXVlcnkiOiB7ImlzX21hc3RlciI6IHRydWV9LCAicGFzc3dvcmQiOiAibWFpbiIsICJwb3J0IjogNTQzMn1dfQ==") pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy