From b5f54ab6961172548f8e2e320e0028b50fb61796 Mon Sep 17 00:00:00 2001 From: Alphonse Paix Date: Sun, 28 Sep 2025 17:07:21 +0200 Subject: [PATCH] deleted cargo config and fmt --- .cargo/config.toml | 3 --- .dockerignore | 1 - .github/workflows/general.yml | 40 ++++++++++++++++++++++++++++------- tests/api/unsubscribe.rs | 4 +++- 4 files changed, 35 insertions(+), 13 deletions(-) delete mode 100644 .cargo/config.toml diff --git a/.cargo/config.toml b/.cargo/config.toml deleted file mode 100644 index 0c38d57..0000000 --- a/.cargo/config.toml +++ /dev/null @@ -1,3 +0,0 @@ -[target.x86_64-unknown-linux-gnu] -linker = "clang" -rustflags = ["-C", "link-arg=-fuse-ld=/usr/bin/mold"] diff --git a/.dockerignore b/.dockerignore index 8b2ecb7..878418f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -6,7 +6,6 @@ Dockerfile /migrations /node_modules /assets/css/main.css -/.cargo /.github README.md /tests diff --git a/.github/workflows/general.yml b/.github/workflows/general.yml index e3058c6..2914cf5 100644 --- a/.github/workflows/general.yml +++ b/.github/workflows/general.yml @@ -29,7 +29,7 @@ jobs: env: POSTGRES_USER: postgres POSTGRES_PASSWORD: password - POSTGRES_DB: postgres + POSTGRES_DB: newsletter ports: - 15432:5432 redis: @@ -51,14 +51,26 @@ jobs: --locked - name: Create app user in Postgres run: | - sudo apt-get update && sudo apt-get install postgresql-client + sudo apt-get update && sudo apt-get install postgresql-client -y + + echo "Waiting for PostgreSQL to be ready..." + for i in {1..30}; do + if PGPASSWORD="password" psql -U postgres -h postgres -p 5432 -d postgres -c '\q' 2>/dev/null; then + echo "PostgreSQL is ready!" + break + fi + echo "Attempt $i/30: PostgreSQL not ready yet, waiting..." + sleep 2 + done CREATE_QUERY="CREATE USER ${APP_USER} WITH PASSWORD '${APP_USER_PWD}';" - PGPASSWORD="password" psql -U postgres -h localhost -p 15432 -c "${CREATE_QUERY}" + PGPASSWORD="password" psql -U postgres -h postgres -p 5432 -c "${CREATE_QUERY}" GRANT_QUERY="ALTER USER ${APP_USER} CREATEDB;" - PGPASSWORD="password" psql -U postgres -h localhost -p 15432 -c "${GRANT_QUERY}" + PGPASSWORD="password" psql -U postgres -h postgres -p 5432 -c "${GRANT_QUERY}" - name: Migrate database + env: + - POSTGRES_PORT: 5432 run: SKIP_DOCKER=true ./scripts/init_db.sh - name: Run tests run: cargo test @@ -102,7 +114,7 @@ jobs: env: POSTGRES_USER: postgres POSTGRES_PASSWORD: password - POSTGRES_DB: postgres + POSTGRES_DB: newsletter ports: - 15432:5432 redis: @@ -124,14 +136,26 @@ jobs: --locked - name: Create app user in Postgres run: | - sudo apt-get update && sudo apt-get install postgresql-client + sudo apt-get update && sudo apt-get install postgresql-client -y + + echo "Waiting for PostgreSQL to be ready..." + for i in {1..30}; do + if PGPASSWORD="password" psql -U postgres -h postgres -p 5432 -d postgres -c '\q' 2>/dev/null; then + echo "PostgreSQL is ready!" + break + fi + echo "Attempt $i/30: PostgreSQL not ready yet, waiting..." + sleep 2 + done CREATE_QUERY="CREATE USER ${APP_USER} WITH PASSWORD '${APP_USER_PWD}';" - PGPASSWORD="password" psql -U postgres -h localhost -p 15432 -c "${CREATE_QUERY}" + PGPASSWORD="password" psql -U postgres -h postgres -p 5432 -c "${CREATE_QUERY}" GRANT_QUERY="ALTER USER ${APP_USER} CREATEDB;" - PGPASSWORD="password" psql -U postgres -h localhost -p 15432 -c "${GRANT_QUERY}" + PGPASSWORD="password" psql -U postgres -h localhost -p 5432 -c "${GRANT_QUERY}" - name: Migrate database + env: + - POSTGRES_PORT: 5432 run: SKIP_DOCKER=true ./scripts/init_db.sh - name: Install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov diff --git a/tests/api/unsubscribe.rs b/tests/api/unsubscribe.rs index 1d2c52b..23227b3 100644 --- a/tests/api/unsubscribe.rs +++ b/tests/api/unsubscribe.rs @@ -48,7 +48,9 @@ async fn subscriber_can_unsubscribe(connection_pool: PgPool) { } #[sqlx::test] -async fn a_valid_unsubscribe_link_is_present_in_new_post_email_notifications(connection_pool: PgPool) { +async fn a_valid_unsubscribe_link_is_present_in_new_post_email_notifications( + connection_pool: PgPool, +) { let app = TestApp::spawn(connection_pool).await; app.create_confirmed_subscriber().await; app.admin_login().await;