|
4 | 4 | push: |
5 | 5 | pull_request: |
6 | 6 |
|
| 7 | +permissions: |
| 8 | + contents: read |
| 9 | + |
7 | 10 | jobs: |
8 | 11 | test: |
9 | 12 | runs-on: ubuntu-latest |
10 | 13 | services: |
11 | 14 | postgres: |
12 | 15 | image: postgres:16-alpine |
13 | 16 | env: |
14 | | - POSTGRES_USER: ${{ vars.POSTGRES_USER }} |
15 | | - POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} |
16 | | - POSTGRES_DB: ${{ vars.POSTGRES_DB }} |
| 17 | + POSTGRES_USER: ${{ vars.POSTGRES_USER || 'elephant_admin' }} |
| 18 | + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD || 'local_test_password' }} |
| 19 | + POSTGRES_DB: ${{ vars.POSTGRES_DB || 'elephant_messenger' }} |
17 | 20 | ports: |
18 | 21 | - 42359:5432 |
19 | 22 | options: >- |
@@ -45,27 +48,23 @@ jobs: |
45 | 48 | install-go: false |
46 | 49 | working-directory: "server" |
47 | 50 |
|
48 | | - - name: create .env |
49 | | - run: | |
50 | | - cp .env.example .env |
51 | | -
|
52 | 51 | - name: Execute Package Test Automation Suite |
53 | 52 | env: |
54 | | - HOST: ${{ vars.HOST }} |
55 | | - PORT: ${{ vars.PORT }} |
56 | | - POSTGRES_USER: ${{ vars.POSTGRES_USER }} |
57 | | - POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} |
58 | | - POSTGRES_DB: ${{ vars.POSTGRES_DB }} |
59 | | - POSTGRES_PORT: ${{ vars.POSTGRES_PORT }} |
60 | | - POSTGRES_HOST: ${{ vars.POSTGRES_HOST }} |
61 | | - JWT_SECRET: ${{ secrets.JWT_SECRET }} |
62 | | - ARGON_MEMORY: ${{ vars.ARGON_MEMORY }} |
63 | | - ARGON_ITERATIONS: ${{ vars.ARGON_ITERATIONS }} |
64 | | - ARGON_PARALLELISM: ${{ vars.ARGON_PARALLELISM }} |
| 53 | + HOST: ${{ vars.HOST || '127.0.0.1' }} |
| 54 | + PORT: ${{ vars.PORT || '8080'}} |
| 55 | + POSTGRES_USER: ${{ vars.POSTGRES_USER || 'elephant_admin' }} |
| 56 | + POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD || 'local_test_password' }} |
| 57 | + POSTGRES_DB: ${{ vars.POSTGRES_DB || 'elephant_messenger' }} |
| 58 | + POSTGRES_PORT: ${{ vars.POSTGRES_PORT || '42359' }} |
| 59 | + POSTGRES_HOST: ${{ vars.POSTGRES_HOST || 'localhost' }} |
| 60 | + JWT_SECRET: ${{ secrets.JWT_SECRET || 'testing_only_secret_key_string_32_chars' }} |
| 61 | + ARGON_MEMORY: ${{ vars.ARGON_MEMORY || '65536' }} |
| 62 | + ARGON_ITERATIONS: ${{ vars.ARGON_ITERATIONS || '1' }} |
| 63 | + ARGON_PARALLELISM: ${{ vars.ARGON_PARALLELISM || '2'}} |
65 | 64 | run: | |
66 | 65 | cd server |
67 | 66 | sudo apt-get update && sudo apt-get install -y postgresql-client |
68 | | - PGPASSWORD="${{ secrets.POSTGRES_PASSWORD }}" psql -h "${{ vars.POSTGRES_HOST }}" -p "${{ vars.POSTGRES_PORT }}" -U "${{ vars.POSTGRES_USER }}" -d "${{ vars.POSTGRES_DB }}" \ |
| 67 | + PGPASSWORD="$POSTGRES_PASSWORD" psql -h "$.POSTGRES_HOST" -p "$POSTGRES_PORT" -U "$POSTGRES_USER" -d "$vars.POSTGRES_DB" \ |
69 | 68 | -f migrations/001_create_users_up.sql \ |
70 | 69 | -f migrations/002_create_refresh_tokens_up.sql \ |
71 | 70 | -f migrations/003_add_search_indexes_up.sql \ |
|
74 | 73 | -f migrations/006_create_groups_table_up.sql |
75 | 74 | go run main.go & |
76 | 75 | for i in $(seq 1 10); do |
77 | | - curl -sf http://${{ vars.HOST }}:${{ vars.PORT }}/api/health && break |
| 76 | + curl -sf http://$.HOST:$.PORT/api/health && break |
78 | 77 | echo "Waiting for server... attempt $i" |
79 | 78 | sleep 2 |
80 | 79 | done |
|
0 commit comments