File tree 4 files changed +68
-1
lines changed
4 files changed +68
-1
lines changed Original file line number Diff line number Diff line change 33
33
password : ${{ secrets.GITHUB_TOKEN }}
34
34
tags : latest,${{ steps.tag.outputs.POST_TAG }}
35
35
repository : monetr/pgtest
36
+ pg-test :
37
+ needs :
38
+ - docker
39
+ name : Test
40
+ runs-on : ubuntu-latest
41
+ container : ghcr.io/monetr/pgtest:latest
42
+ env :
43
+ POSTGRES_HOST : postgres
44
+ POSTGRES_PASSWORD : " "
45
+ POSTGRES_USER : postgres
46
+ POSTGRES_DB : test-db
47
+ POSTGRES_HOST_AUTH_METHOD : trust
48
+ services :
49
+ postgres :
50
+ image : ghcr.io/monetr/pgtest:latest
51
+ env :
52
+ POSTGRES_HOST : postgres
53
+ POSTGRES_PASSWORD : " "
54
+ POSTGRES_USER : postgres
55
+ POSTGRES_DB : test-db
56
+ POSTGRES_HOST_AUTH_METHOD : trust
57
+ options : >-
58
+ --health-cmd pg_isready
59
+ --health-interval 10s
60
+ --health-timeout 5s
61
+ --health-retries 5
62
+ steps :
63
+ - uses : actions/checkout@v2
64
+ - name : Test
65
+ run : make test
66
+ - name : Publish Test Report
67
+ uses : mikepenz/action-junit-report@v2
68
+ if : always() # always run even if the previous step fails
69
+ with :
70
+ report_paths : ' /junit.xml'
Original file line number Diff line number Diff line change 1
1
2
2
docker :
3
- docker build -f $(PWD ) /Dockerfile .
3
+ docker build -f $(PWD ) /Dockerfile .
4
+
5
+ ifdef CI
6
+ PG_TEST_EXTENSION_QUERY = "CREATE EXTENSION pgtap;"
7
+ JUNIT_OUTPUT_FILE =/junit.xml
8
+ test :
9
+ @for FILE in $(PWD ) /tests/schema/* .up.sql; do \
10
+ echo " Applying $$ FILE" ; \
11
+ psql -q -d $(POSTGRES_DB) -U $(POSTGRES_USER) -h $(POSTGRES_HOST) -f $$FILE || exit 1; \
12
+ done;
13
+ psql -q -d $(POSTGRES_DB) -U $(POSTGRES_USER) -h $(POSTGRES_HOST) -c $(PG_TEST_EXTENSION_QUERY)
14
+ JUNIT_OUTPUT_FILE=$(JUNIT_OUTPUT_FILE) pg_prove -h $(POSTGRES_HOST) -U $(POSTGRES_USER) -d $(POSTGRES_DB) -f -c $(PWD)/tests/pg/*.sql --verbose --harness TAP::Harness::JUnit
15
+ else
16
+ test :
17
+ $(error test is not available outside of CI)
18
+ endif
Original file line number Diff line number Diff line change
1
+ BEGIN ;
2
+ SELECT plan(1 );
3
+
4
+ SELECT has_table(' users' );
5
+
6
+ SELECT *
7
+ FROM finish();
8
+ ROLLBACK ;
Original file line number Diff line number Diff line change
1
+ CREATE TABLE users
2
+ (
3
+ user_id BIGINT NOT NULL ,
4
+ email TEXT NOT NULL ,
5
+ name TEXT NOT NULL ,
6
+ phone_number TEXT NULL ,
7
+ CONSTRAINT pk_users PRIMARY KEY (user_id),
8
+ CONSTRAINT uq_users_email UNIQUE (email)
9
+ );
You can’t perform that action at this time.
0 commit comments