@@ -108,3 +108,53 @@ jobs:
108
108
FILTER : test-select-1|test-select-ssl
109
109
run : bun run test:bun
110
110
timeout-minutes : 1
111
+
112
+ tests-linux-deno :
113
+ runs-on : ubuntu-latest
114
+ strategy :
115
+ fail-fast : false
116
+ matrix :
117
+ deno-version : [v1.43.6, canary]
118
+ mysql-version : ["mysql:8.0.33"]
119
+ use-compression : [0, 1]
120
+ use-tls : [0,1]
121
+
122
+ name : Deno ${{ matrix.deno-version }} - DB ${{ matrix.mysql-version }} - SSL=${{matrix.use-tls}} Compression=${{matrix.use-compression}}
123
+
124
+ steps :
125
+ - uses : actions/checkout@v4
126
+ - name : Set up MySQL
127
+ run : docker run -d -e MYSQL_ALLOW_EMPTY_PASSWORD=1 -e MYSQL_DATABASE=${{ env.MYSQL_DATABASE }} -v $PWD/mysqldata:/var/lib/mysql/ -v $PWD/test/fixtures/custom-conf:/etc/mysql/conf.d -v $PWD/test/fixtures/ssl/certs:/certs -p ${{ env.MYSQL_PORT }}:3306 ${{ matrix.mysql-version }}
128
+
129
+ - name : Set up Deno ${{ matrix.deno-version }}
130
+ uses : denoland/setup-deno@v1
131
+ with :
132
+ deno-version : ${{ matrix.deno-version }}
133
+
134
+ - name : Set up Node.js
135
+ uses : actions/setup-node@v4
136
+ with :
137
+ node-version : 20
138
+ - name : Cache dependencies
139
+ uses : actions/cache@v4
140
+ with :
141
+ path : ~/.npm
142
+ key : npm-linux-${{ hashFiles('package-lock.json') }}
143
+ restore-keys : npm-linux-
144
+
145
+ - name : Install npm dependencies
146
+ run : npm ci
147
+
148
+ - name : Wait mysql server is ready
149
+ run : node tools/wait-up.js
150
+
151
+ # todo: check what we need to do to run all tests with deno
152
+ - name : run tests
153
+ env :
154
+ MYSQL_USER : ${{ env.MYSQL_USER }}
155
+ MYSQL_DATABASE : ${{ env.MYSQL_DATABASE }}
156
+ MYSQL_PORT : ${{ env.MYSQL_PORT }}
157
+ MYSQL_USE_COMPRESSION : ${{ matrix.use-compression }}
158
+ MYSQL_USE_TLS : ${{ matrix.use-tls }}
159
+ run : deno test --allow-net --allow-env --allow-read test/deno.ts
160
+ timeout-minutes : 1
0 commit comments