Skip to content

Commit 6ef5e4f

Browse files
authored
Merge pull request #300 from eficode/fix/cd-pipeline
Fix/cd pipeline
2 parents 5583bcf + 36093db commit 6ef5e4f

File tree

11 files changed

+52
-38
lines changed

11 files changed

+52
-38
lines changed

.firebaserc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"projects": {
3-
"default": "pipeline-game-dev"
3+
"default": "pipeline-game-development"
44
},
55
"targets": {
6-
"pipeline-game-dev": {
6+
"pipeline-game-development": {
77
"database": {
88
"main": [
99
"x"

.github/workflows/build-and-deploy-on-merge.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ jobs:
99
runs-on: ubuntu-latest
1010
environment: dev
1111
steps:
12+
- name: Install Node
13+
uses: actions/setup-node@v3
14+
with:
15+
node-version: '14'
16+
1217
- name: Checkout merged code
1318
uses: actions/checkout@v2
1419

.github/workflows/build-and-deploy-on-version.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ jobs:
88
runs-on: ubuntu-latest
99
environment: test
1010
steps:
11+
- name: Install Node
12+
uses: actions/setup-node@v3
13+
with:
14+
node-version: '14'
15+
1116
- name: Checkout merged code
1217
uses: actions/checkout@v2
1318

.github/workflows/build-and-test-on-pr.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ jobs:
4343
env:
4444
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
4545

46+
- name: Sleep for 30 seconds
47+
run: sleep 30s
48+
shell: bash
49+
4650
- name: Load initial data
4751
run: npm run scripts:load-initial-data
4852
env:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ variables**:
178178
FIRESTORE_EMULATOR_HOST=localhost:8080
179179
FIREBASE_AUTH_EMULATOR_HOST=localhost:9099
180180
FIREBASE_DATABASE_EMULATOR_HOST=localhost:9000
181-
GCLOUD_PROJECT=pipeline-game-dev
181+
GCLOUD_PROJECT=pipeline-game-development
182182
```
183183

184184
If you want to skip signup and email verification

packages/functions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"update-package-lock": "npm i"
1515
},
1616
"engines": {
17-
"node": "12"
17+
"node": "14"
1818
},
1919
"main": "lib/index.js",
2020
"dependencies": {

packages/functions/src/rtdbInstances.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
const rtdbInstancesUrl = [
22
{
3-
url: 'https://pipeline-game-dev-default-rtdb.firebasedatabase.app',
4-
name: 'pipeline-game-dev-default-rtdb',
3+
url: 'https://pipeline-game-development-default-rtdb.firebasedatabase.app',
4+
name: 'pipeline-game-development-default-rtdb',
55
id: 'default-rtdb',
66
},
77
{
8-
url: 'https://pipeline-game-dev-instance-1.firebasedatabase.app',
9-
name: 'pipeline-game-dev-instance-1',
8+
url: 'https://pipeline-game-development-instance-1.firebasedatabase.app',
9+
name: 'pipeline-game-development-instance-1',
1010
id: 'instance-1',
1111
},
1212
];

packages/functions/test/onConnectionsDelete.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ describe("onConnectionsDelete", () => {
6565
.set({
6666
lastPlayerDisconnectedAt: null,
6767
});
68-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
68+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
6969
.ref(`${RTDBPaths.Cards}/${gameId}`).set({
7070
randomId1: {
7171
lockedBy: userId,
@@ -87,7 +87,7 @@ describe("onConnectionsDelete", () => {
8787

8888
await assert.isFulfilled(wrapped(snap, {params: {gameId, userId}}));
8989

90-
const cardsSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
90+
const cardsSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
9191
.ref(`${RTDBPaths.Cards}/${gameId}`).get();
9292

9393
expect(cardsSnap.exists()).to.eq(true);
@@ -113,7 +113,7 @@ describe("onConnectionsDelete", () => {
113113
.set({
114114
lastPlayerDisconnectedAt: null,
115115
});
116-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
116+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
117117
.ref(`${RTDBPaths.Cards}/${gameId}`).set({
118118
randomId1: {
119119
lockedBy: 'randomUserId1',
@@ -135,7 +135,7 @@ describe("onConnectionsDelete", () => {
135135

136136
await assert.isFulfilled(wrapped(snap, {params: {gameId, userId}}));
137137

138-
const cardsSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
138+
const cardsSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
139139
.ref(`${RTDBPaths.Cards}/${gameId}`).get();
140140

141141
expect(cardsSnap.exists()).to.eq(true);
@@ -164,9 +164,9 @@ describe("onConnectionsDelete", () => {
164164
.set({
165165
lastPlayerDisconnectedAt: null,
166166
});
167-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
167+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
168168
.ref(`${RTDBPaths.Connections}/${gameId}/${userId}`).push({updatedAt: 124342});
169-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
169+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
170170
.ref(`${RTDBPaths.Connections}/${gameId}/randomUserId`).push({updatedAt: 124342});
171171

172172
const snap = test.database.makeDataSnapshot(

packages/functions/test/scheduledMoveGame.spec.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,48 +33,48 @@ describe("scheduledMoveGame", () => {
3333
it("should not move game with recent lastPlayerDisconnectedAt", async () => {
3434
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
3535
.set({lastPlayerDisconnectedAt: admin.firestore.FieldValue.serverTimestamp()});
36-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
36+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
3737
.set({something: ''});
3838

3939
await assert.isFulfilled(functions.scheduledMoveGame());
4040

41-
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
41+
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
4242
expect(rtdbGameSnap.exists()).eq(true);
4343
});
4444

4545
it("should not move game with null lastPlayerDisconnectedAt", async () => {
4646
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
4747
.set({lastPlayerDisconnectedAt: null});
48-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
48+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
4949
.set({something: ''});
5050

5151
await assert.isFulfilled(functions.scheduledMoveGame());
5252

53-
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
53+
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
5454

5555
expect(rtdbGameSnap.exists()).eq(true);
5656
});
5757

5858
it("should move game and cards if lastPlayerDisconnectedAt is < now - 24h ", async () => {
5959
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
6060
.set({
61-
rtdbInstance: 'pipeline-game-dev-default-rtdb.europe-west1',
61+
rtdbInstance: 'pipeline-game-development-default-rtdb.europe-west1',
6262
lastPlayerDisconnectedAt: new admin.firestore.Timestamp(Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000), 100),
6363
});
64-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
64+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
6565
.set({
6666
createdAt: {
6767
_seconds: 14424,
6868
_nanoseconds: 1424,
6969
},
7070
});
71-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
71+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
7272
.set({something: ''});
7373

7474
await assert.isFulfilled(functions.scheduledMoveGame());
7575

76-
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
77-
const cardsSnap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`).get();
76+
const rtdbGameSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`).get();
77+
const cardsSnap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`).get();
7878

7979
expect(rtdbGameSnap.exists()).eq(false);
8080
expect(cardsSnap.exists()).eq(false);
@@ -83,17 +83,17 @@ describe("scheduledMoveGame", () => {
8383
it("should move game if lastPlayerDisconnectedAt is < now - 24h preserving createdAt", async () => {
8484
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
8585
.set({
86-
rtdbInstance: 'pipeline-game-dev-default-rtdb.europe-west1',
86+
rtdbInstance: 'pipeline-game-development-default-rtdb.europe-west1',
8787
lastPlayerDisconnectedAt: new admin.firestore.Timestamp(Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000), 100),
8888
});
89-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
89+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
9090
.set({
9191
createdAt: {
9292
_seconds: 14424,
9393
_nanoseconds: 1424,
9494
},
9595
});
96-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
96+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
9797
.set({something: ''});
9898

9999
await assert.isFulfilled(functions.scheduledMoveGame());
@@ -107,20 +107,20 @@ describe("scheduledMoveGame", () => {
107107
it("should move game if lastPlayerDisconnectedAt is < now - 24h updating movedAt", async () => {
108108
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
109109
.set({
110-
rtdbInstance: 'pipeline-game-dev-default-rtdb.europe-west1',
110+
rtdbInstance: 'pipeline-game-development-default-rtdb.europe-west1',
111111
movedAt: admin.firestore.FieldValue.serverTimestamp(),
112112
lastPlayerDisconnectedAt: new admin.firestore.Timestamp(Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000), 100),
113113
});
114114
const oldMovedAt = ((await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
115115
.get()).data() as Game).movedAt as admin.firestore.Timestamp;
116-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
116+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
117117
.set({
118118
createdAt: {
119119
_seconds: 14424,
120120
_nanoseconds: 1424,
121121
},
122122
});
123-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
123+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
124124
.set({something: ''});
125125

126126
await assert.isFulfilled(functions.scheduledMoveGame());
@@ -134,17 +134,17 @@ describe("scheduledMoveGame", () => {
134134
it("should unlock locked cards if lastPlayerDisconnectedAt is < now - 24h", async () => {
135135
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
136136
.set({
137-
rtdbInstance: 'pipeline-game-dev-default-rtdb.europe-west1',
137+
rtdbInstance: 'pipeline-game-development-default-rtdb.europe-west1',
138138
lastPlayerDisconnectedAt: new admin.firestore.Timestamp(Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000), 100),
139139
});
140-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
140+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
141141
.set({
142142
createdAt: {
143143
_seconds: 14424,
144144
_nanoseconds: 1424,
145145
},
146146
});
147-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
147+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
148148
.set({
149149
cardId1: {
150150
lockedBy: 'someone',
@@ -181,17 +181,17 @@ describe("scheduledMoveGame", () => {
181181
it("should normalize cards zIndex if lastPlayerDisconnectedAt is < now - 24h", async () => {
182182
await admin.firestore().doc(`${FirebaseCollection.Games}/gameId1`)
183183
.set({
184-
rtdbInstance: 'pipeline-game-dev-default-rtdb.europe-west1',
184+
rtdbInstance: 'pipeline-game-development-default-rtdb.europe-west1',
185185
lastPlayerDisconnectedAt: new admin.firestore.Timestamp(Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000), 100),
186186
});
187-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
187+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Games}/gameId1`)
188188
.set({
189189
createdAt: {
190190
_seconds: 14424,
191191
_nanoseconds: 1424,
192192
},
193193
});
194-
await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
194+
await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`).ref(`${RTDBPaths.Cards}/gameId1`)
195195
.set({
196196
cardId1: {
197197
lockedBy: 'someone',

packages/functions/test/selectBestRTDBInstance.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ describe("SelectBestRTDBInstance", () => {
7070
const wrapped = test.wrap(functions.selectBestRTDBInstance);
7171
const auth = test.auth.exampleUserRecord();
7272
await expect(wrapped({gameId: gameDoc.id}, {auth})).to.eventually.deep.eq({
73-
bestRTDBInstanceName: 'pipeline-game-dev-default-rtdb.europe-west1',
73+
bestRTDBInstanceName: 'pipeline-game-development-default-rtdb.europe-west1',
7474
});
75-
const snap = await admin.app().database(`https://pipeline-game-dev-default-rtdb.europe-west1.firebasedatabase.app`)
75+
const snap = await admin.app().database(`https://pipeline-game-development-default-rtdb.europe-west1.firebasedatabase.app`)
7676
.ref(`${RTDBPaths.Games}/${gameDoc.id}`).get();
7777
expect(snap.exists()).to.eq(true);
7878
return expect(snap.val()).to.deep.eq(gameData);

0 commit comments

Comments
 (0)