Compare commits
1 Commits
master
...
108a14e51d
| Author | SHA1 | Date | |
|---|---|---|---|
| 108a14e51d |
@@ -1,76 +0,0 @@
|
|||||||
name: initialize database
|
|
||||||
description: initialize database by using database of test environment
|
|
||||||
author: BinKrassDuFass
|
|
||||||
|
|
||||||
inputs:
|
|
||||||
MONGODB_SERVICE_NAME:
|
|
||||||
description: 'Name of the MongoDB service'
|
|
||||||
required: true
|
|
||||||
default: 'mongo'
|
|
||||||
|
|
||||||
TIBI_USERNAME:
|
|
||||||
description: 'Username of the Tibi account'
|
|
||||||
required: true
|
|
||||||
default: 'admin'
|
|
||||||
|
|
||||||
TIBI_PASSWORD:
|
|
||||||
description: 'Password of the Tibi account'
|
|
||||||
required: true
|
|
||||||
default: 'admin'
|
|
||||||
|
|
||||||
TIBI_API_URL:
|
|
||||||
description: 'URL of the Tibi API'
|
|
||||||
required: true
|
|
||||||
default: 'http://tibi-server:8080/api/v1'
|
|
||||||
|
|
||||||
TIBI_API_CONFIG_PATH:
|
|
||||||
description: 'Path of the Tibi API config'
|
|
||||||
required: true
|
|
||||||
default: "${{github.workspace}}/api/config.yml}}"
|
|
||||||
|
|
||||||
TIBI_API_NAMESPACE:
|
|
||||||
description: 'Namespace of the Tibi API'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
PROJECT_NAME:
|
|
||||||
description: 'Name of the project'
|
|
||||||
required: true
|
|
||||||
|
|
||||||
runs:
|
|
||||||
using: composite
|
|
||||||
steps:
|
|
||||||
- name: Setup mongo tools
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
echo "::group::setup Mongo keys"
|
|
||||||
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
|
|
||||||
sudo apt-get install -y gnupg
|
|
||||||
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
|
|
||||||
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
echo "::group::mongodb tools"
|
|
||||||
sudo apt-get update
|
|
||||||
echo "aptitude install mongodb-database-tools"
|
|
||||||
sudo apt-get install -y mongodb-database-tools
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
echo "mongodump --version"
|
|
||||||
mongodump --version
|
|
||||||
|
|
||||||
- name: Restore MongoDB Data
|
|
||||||
run: |
|
|
||||||
echo "::group::initialize mongo data"
|
|
||||||
mongorestore --uri "mongodb://${{inputs.MONGODB_SERVICE_NAME}}:27017" ./.github/actions/init-db/mongo-dump
|
|
||||||
echo "::endgroup::"
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: set config in tibi
|
|
||||||
shell: bash
|
|
||||||
run: ./.github/actions/init-db/setConfigInTibiProject.sh ${{inputs.TIBI_USERNAME}} ${{inputs.TIBI_PASSWORD}} ${{inputs.TIBI_API_URL}} ${{inputs.TIBI_API_CONFIG_PATH}} ${{inputs.TIBI_API_NAMESPACE}} ${{inputs.PROJECT_NAME}}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
19
.gitea/actions/init-db/action.yml
Normal file
19
.gitea/actions/init-db/action.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
name: initialize database
|
||||||
|
description: initialize database by using database of test environment
|
||||||
|
author: BinKrassDuFass
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
MONGODB_SERVICE_NAME:
|
||||||
|
description: 'Name of the MongoDB service'
|
||||||
|
required: true
|
||||||
|
default: 'mongo'
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: composite
|
||||||
|
steps:
|
||||||
|
- name: Install MongoDB tools
|
||||||
|
run: sudo apt-get install -y mongodb-database-tools
|
||||||
|
|
||||||
|
- name: Restore MongoDB Data
|
||||||
|
run: mongorestore --uri "mongodb://${{inputs.MONGODB_SERVICE_NAME}}:27017" /.gitea/
|
||||||
|
|
||||||
116
.gitea/actions/init-db/index.js
Normal file
116
.gitea/actions/init-db/index.js
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
const axios = require("axios")
|
||||||
|
const { MongoClient } = require("mongodb")
|
||||||
|
const fs = require("fs")
|
||||||
|
const util = require("util")
|
||||||
|
|
||||||
|
// Function to log objects in a detailed manner
|
||||||
|
function logObj(o) {
|
||||||
|
console.log(util.inspect(o, false, null, true))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to preload the database with collections
|
||||||
|
async function preloadDatabase(db, collections) {
|
||||||
|
for (const { name, file } of collections) {
|
||||||
|
const content = fs.readFileSync(file, "utf8")
|
||||||
|
const data = JSON.parse(content)
|
||||||
|
|
||||||
|
const collection = db.collection(name)
|
||||||
|
await collection.insertMany(data)
|
||||||
|
|
||||||
|
const insertedData = await collection.find({}).toArray()
|
||||||
|
if (insertedData.length !== data.length) {
|
||||||
|
console.error(
|
||||||
|
`Mismatch in collection ${name}: expected ${data.length} documents, found ${insertedData.length}`
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
console.log(`Successfully verified ${insertedData.length} documents in ${name}`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function initializeDatabase(config) {
|
||||||
|
try {
|
||||||
|
const dbClient = new MongoClient(config.mongodbUri)
|
||||||
|
await dbClient.connect()
|
||||||
|
let db = dbClient.db(config.tibiDbPrefix)
|
||||||
|
await db.collection("project").deleteMany({ namespace: config.projectApiNamespace })
|
||||||
|
|
||||||
|
const dbName = config.tibiDbPrefix + "_" + config.projectApiNamespace
|
||||||
|
db = dbClient.db(dbName)
|
||||||
|
await db.dropDatabase()
|
||||||
|
|
||||||
|
// Login to Tibi API
|
||||||
|
const loginResponse = await axios.post(config.tibiApiUrl + "/login", {
|
||||||
|
username: config.tibiUsername,
|
||||||
|
password: config.tibiPassword,
|
||||||
|
})
|
||||||
|
const tibiToken = loginResponse.data.token
|
||||||
|
|
||||||
|
// Create project
|
||||||
|
let project
|
||||||
|
try {
|
||||||
|
const projectResponse = await axios.post(
|
||||||
|
config.tibiApiUrl + "/project",
|
||||||
|
{
|
||||||
|
configFile: config.projectApiConfig,
|
||||||
|
name: config.projectApiNamespace,
|
||||||
|
namespace: config.projectApiNamespace,
|
||||||
|
description: config.projectApiNamespace,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
"X-Auth-Token": tibiToken,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
project = projectResponse.data
|
||||||
|
} catch (e) {
|
||||||
|
logObj(e)
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if project is online
|
||||||
|
const projectStatus = await axios.get(config.tibiApiUrl + "/project/" + project.id, {
|
||||||
|
headers: {
|
||||||
|
"X-Auth-Token": tibiToken,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
if (!projectStatus.data.api.isOnline) {
|
||||||
|
throw new Error(`Project ${config.projectApiNamespace} is not online.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Define collections to preload into the database
|
||||||
|
const collections = [
|
||||||
|
// Define your collections here as per your Cypress plugin logic
|
||||||
|
// { name: "collectionName", file: "path/to/file.json" },
|
||||||
|
// ... other collections
|
||||||
|
]
|
||||||
|
await preloadDatabase(db, collections)
|
||||||
|
|
||||||
|
await dbClient.close()
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error initializing the database:", error)
|
||||||
|
throw error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run the script if it's executed directly
|
||||||
|
if (require.main === module) {
|
||||||
|
const config = {
|
||||||
|
projectApiNamespace: process.env.PROJECT_API_NAMESPACE,
|
||||||
|
mongodbUri: process.env.MONGODB_URI,
|
||||||
|
tibiDbPrefix: process.env.TIBI_DB_PREFIX,
|
||||||
|
tibiApiUrl: process.env.TIBI_API_URL,
|
||||||
|
// Add other required environment variables here
|
||||||
|
}
|
||||||
|
|
||||||
|
initializeDatabase(config)
|
||||||
|
.then(() => console.log("Database initialized successfully"))
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("Failed to initialize database:", err)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = initializeDatabase
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"admin.system.version"}],"uuid":"c25383adb2a64a8ca31b3bc5cbcb6690"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"admin.system.version"}],"uuid":"c25383adb2a64a8ca31b3bc5cbcb6690"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"unique":true,"key":{"name":{"$numberInt":"1"}},"name":"name_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"_fts":"text","_ftsx":{"$numberInt":"1"}},"name":"textindex","ns":"tibi.project","weights":{"name":{"$numberInt":"1"}},"default_language":"german","language_override":"language","textIndexVersion":{"$numberInt":"3"}}],"uuid":"a0a6733bdb52400f9f3b17985bc28bcc"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"unique":true,"key":{"username":{"$numberInt":"1"}},"name":"username_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"_fts":"text","_ftsx":{"$numberInt":"1"}},"name":"textindex","ns":"tibi.user","weights":{"$**":{"$numberInt":"1"}},"default_language":"german","language_override":"language","textIndexVersion":{"$numberInt":"3"}}],"uuid":"ba627bbd4ac24b3ca92aebdc33b7d4b0"}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.backups"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.backups"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.backups"}],"uuid":"4993cf280e844b5b80fe208350713002"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.banner"}],"uuid":"7346de51448b4a27b289a0e32336d0b6"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"meta.datum":{"$numberInt":"1"}},"name":"meta.datum_1","ns":"tibi_allkids_erfurt.content"}],"uuid":"df9951d7cf964e5e8a22360c09aa27c7"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.forms"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.forms"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.forms"}],"uuid":"7815c4dfc9d9460c8aac8cf94cc67ea6"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.lighthouse"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.lighthouse"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.lighthouse"}],"uuid":"fca0bbd4089a43689609593178154de9"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.lighthouseSubpath"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.lighthouseSubpath"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.lighthouseSubpath"}],"uuid":"b72120ec4cd34054a83833dce78c869f"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.navigation"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.navigation"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.navigation"}],"uuid":"d989bd0ea7ba4ea4ae728b8a6baa62ba"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"unique":true,"key":{"path":{"$numberInt":"1"}},"name":"path_1","ns":"tibi_allkids_erfurt.ssr"}],"uuid":"75869e19f8164beabe53366265b10208"}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.temperature"}],"uuid":"eb60c1bc334c4fa2a473fdb6c99b3e6a"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"unique":true,"key":{"name":{"$numberInt":"1"}},"name":"name_1","ns":"tibi.project"},{"v":{"$numberInt":"2"},"key":{"_fts":"text","_ftsx":{"$numberInt":"1"}},"name":"textindex","ns":"tibi.project","weights":{"name":{"$numberInt":"1"}},"default_language":"german","language_override":"language","textIndexVersion":{"$numberInt":"3"}}],"uuid":"a0a6733bdb52400f9f3b17985bc28bcc"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"unique":true,"key":{"username":{"$numberInt":"1"}},"name":"username_1","ns":"tibi.user"},{"v":{"$numberInt":"2"},"key":{"_fts":"text","_ftsx":{"$numberInt":"1"}},"name":"textindex","ns":"tibi.user","weights":{"$**":{"$numberInt":"1"}},"default_language":"german","language_override":"language","textIndexVersion":{"$numberInt":"3"}}],"uuid":"ba627bbd4ac24b3ca92aebdc33b7d4b0"}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.backups"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.backups"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.backups"}],"uuid":"4993cf280e844b5b80fe208350713002"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.banner"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.banner"}],"uuid":"7346de51448b4a27b289a0e32336d0b6"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.content"},{"v":{"$numberInt":"2"},"key":{"meta.datum":{"$numberInt":"1"}},"name":"meta.datum_1","ns":"tibi_allkids_erfurt.content"}],"uuid":"df9951d7cf964e5e8a22360c09aa27c7"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.forms"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.forms"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.forms"}],"uuid":"7815c4dfc9d9460c8aac8cf94cc67ea6"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.navigation"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.navigation"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.navigation"}],"uuid":"d989bd0ea7ba4ea4ae728b8a6baa62ba"}
|
|
||||||
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.ssr"},{"v":{"$numberInt":"2"},"unique":true,"key":{"path":{"$numberInt":"1"}},"name":"path_1","ns":"tibi_allkids_erfurt.ssr"}],"uuid":"75869e19f8164beabe53366265b10208"}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"options":{},"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"insertTime":{"$numberInt":"1"}},"name":"insertTime_1","ns":"tibi_allkids_erfurt.temperature"},{"v":{"$numberInt":"2"},"key":{"updateTime":{"$numberInt":"1"}},"name":"updateTime_1","ns":"tibi_allkids_erfurt.temperature"}],"uuid":"eb60c1bc334c4fa2a473fdb6c99b3e6a"}
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Start a GitHub Actions group for input validation
|
|
||||||
echo "::group::Validating Inputs"
|
|
||||||
|
|
||||||
# Check if the correct number of arguments is passed
|
|
||||||
if [ "$#" -ne 6 ]; then
|
|
||||||
echo "Incorrect number of arguments provided."
|
|
||||||
echo "Usage: $0 <TIBI_USERNAME> <TIBI_PASSWORD> <TIBI_API_URL> <PROJECT_API_CONFIG> <PROJECT_NAMESPACE> <PROJECT_NAME>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Assigning passed arguments to variables for better readability
|
|
||||||
TIBI_USERNAME=$1
|
|
||||||
TIBI_PASSWORD=$2
|
|
||||||
TIBI_API_URL=$3
|
|
||||||
PROJECT_API_CONFIG=$4
|
|
||||||
PROJECT_NAMESPACE=$5
|
|
||||||
PROJECT_NAME=$6
|
|
||||||
|
|
||||||
echo "Provided TIBI_USERNAME: $TIBI_USERNAME"
|
|
||||||
echo "TIBI_API_URL: $TIBI_API_URL"
|
|
||||||
# Be cautious with logging sensitive data like passwords and tokens
|
|
||||||
# Echoing the password or sensitive information is generally not recommended
|
|
||||||
|
|
||||||
# End the input validation group
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
# Start a group for authentication
|
|
||||||
echo "::group::Authenticating User"
|
|
||||||
|
|
||||||
# Prepare authentication request payload
|
|
||||||
auth_payload=$(jq -n --arg username "$TIBI_USERNAME" --arg password "$TIBI_PASSWORD" '{username: $username, password: $password}')
|
|
||||||
echo "Authentication payload: $auth_payload"
|
|
||||||
# Fetch the authentication token
|
|
||||||
echo "Requesting authentication token..."
|
|
||||||
auth_response=$(curl -s -X POST -H "Content-Type: application/json" -d "$auth_payload" "$TIBI_API_URL/login")
|
|
||||||
# Logging the response for debugging (remove sensitive data as necessary)
|
|
||||||
echo "Authentication response: $auth_response"
|
|
||||||
|
|
||||||
# Extract token from the response
|
|
||||||
TIBI_AUTH_TOKEN=$(echo $auth_response | jq -r '.token')
|
|
||||||
|
|
||||||
# Check if the token was successfully retrieved
|
|
||||||
if [ -z "$TIBI_AUTH_TOKEN" ]; then
|
|
||||||
echo "Failed to get authentication token. Exiting script."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Authentication token received successfully."
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
# Start a group for fetching project data
|
|
||||||
echo "::group::Fetching Project Data"
|
|
||||||
|
|
||||||
# Get the list of projects from the API
|
|
||||||
echo "Retrieving projects..."
|
|
||||||
response=$(curl -s -H "X-Auth-Token: $TIBI_AUTH_TOKEN" "$TIBI_API_URL/project")
|
|
||||||
echo $response
|
|
||||||
projects=$(echo $response) # Parse the JSON response to get project data
|
|
||||||
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
# Start a group for processing project data
|
|
||||||
echo "::group::Processing Project Data"
|
|
||||||
|
|
||||||
# Initialize variables to track project existence
|
|
||||||
projectFound=false
|
|
||||||
projectId=""
|
|
||||||
|
|
||||||
# Loop through each project to find if the required project exists
|
|
||||||
for row in $(echo "${projects}" | jq -r '.[] | @base64'); do
|
|
||||||
_jq() {
|
|
||||||
echo ${row} | base64 --decode | jq -r ${1}
|
|
||||||
}
|
|
||||||
|
|
||||||
api_name=$(_jq '.name')
|
|
||||||
# Check if the current project's namespace matches the target
|
|
||||||
if [ "$api_name" == "$PROJECT_NAME" ]; then
|
|
||||||
projectId=$(_jq '.id')
|
|
||||||
projectData=$(echo ${row} | base64 --decode)
|
|
||||||
projectFound=true
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "::endgroup::"
|
|
||||||
|
|
||||||
# Start a group for creating or updating the project
|
|
||||||
echo "::group::Creating or Updating Project"
|
|
||||||
|
|
||||||
# Conditionally create a new project or update the existing one
|
|
||||||
if [ "$projectFound" = true ]; then
|
|
||||||
echo "Project found with ID: $projectId, updating..."
|
|
||||||
# Prepare updated project data
|
|
||||||
updatedProjectData=$(echo $projectData | jq --arg configFile "$PROJECT_API_CONFIG" '.configFile = $configFile | del(.id)')
|
|
||||||
# Send a PUT request to update the project
|
|
||||||
updateResponse=$(curl -s -X PUT -H "Content-Type: application/json" -H "X-Auth-Token: $TIBI_AUTH_TOKEN" -d "$updatedProjectData" "$TIBI_API_URL/project/$projectId")
|
|
||||||
# Logging the response for debugging (remove sensitive data as necessary)
|
|
||||||
echo "Update response: $updateResponse"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "Project not found. Creating new project..."
|
|
||||||
# Send a POST request to create a new project
|
|
||||||
createResponse=$(curl -s -X POST -H "Content-Type: application/json" -H "X-Auth-Token: $TIBI_AUTH_TOKEN" -d "{\"configFile\":\"$PROJECT_API_CONFIG\", \"name\":\"$PROJECT_NAMESPACE\", \"namespace\":\"$PROJECT_NAMESPACE\", \"description\":\"$PROJECT_NAMESPACE\"}" "$TIBI_API_URL/project")
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "::endgroup::"
|
|
||||||
@@ -5,22 +5,18 @@ jobs:
|
|||||||
lighthouse-evaluation:
|
lighthouse-evaluation:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: gitbase.de/actions/ubuntu:latest
|
image: ubuntu-latest
|
||||||
volumes:
|
|
||||||
- /data:/data
|
|
||||||
services:
|
services:
|
||||||
mongo:
|
mongo:
|
||||||
image: mongo:4.2
|
image: mongo:4.2
|
||||||
ports:
|
ports:
|
||||||
- 27017:27017
|
- 27017:27017
|
||||||
options: --name mongo
|
|
||||||
|
|
||||||
maildev:
|
maildev:
|
||||||
image: gitbase.de/robin/maildev:latest
|
image: gitbase.de/robin/maildev:latest
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
- 25:25
|
- 25:25
|
||||||
options: --name maildev
|
|
||||||
|
|
||||||
tibi-server:
|
tibi-server:
|
||||||
image: gitbase.de/cms/tibi-server
|
image: gitbase.de/cms/tibi-server
|
||||||
@@ -33,17 +29,71 @@ jobs:
|
|||||||
SECURITY_ALLOWABSOLUTEPATHS: "true"
|
SECURITY_ALLOWABSOLUTEPATHS: "true"
|
||||||
SECURITY_ALLOWUPPERPATHS: "true"
|
SECURITY_ALLOWUPPERPATHS: "true"
|
||||||
SECURITY_ALLOWRELATIVEPATHS: "true"
|
SECURITY_ALLOWRELATIVEPATHS: "true"
|
||||||
options: --name tibi-server
|
|
||||||
volumes:
|
|
||||||
- ${{ github.workspace }}:/repo
|
|
||||||
|
|
||||||
live-server:
|
live-server:
|
||||||
image: gitbase.de/robin/apache-image:latest
|
image: gitbase.de/robin/live-server:latest
|
||||||
ports:
|
ports:
|
||||||
- 8081:80
|
- 8081:8081
|
||||||
volumes:
|
steps:
|
||||||
- ${{ github.workspace }}/frontend:/usr/local/apache2/htdocs/
|
- name: Checkout code
|
||||||
options: --name live-server
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Load .env file
|
||||||
|
run: |
|
||||||
|
set -a
|
||||||
|
source .env
|
||||||
|
set +a
|
||||||
|
|
||||||
|
- name: Initialize database
|
||||||
|
run: node /.gitea/actions/init-db
|
||||||
|
env:
|
||||||
|
PROJECT_API_NAMESPACE: $TIBI_NAMESPACE
|
||||||
|
MONGODB_URI: mongodb://mongo #service name!
|
||||||
|
TIBI_DB_PREFIX: $TIBI_PREFIX
|
||||||
|
TIBI_API_URL: http://tibi-server:8080/api/v1
|
||||||
|
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
name: deploy
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container:
|
||||||
|
image: gitbase.de/actions/ubuntu:latest
|
||||||
|
volumes:
|
||||||
|
- /data:/data
|
||||||
|
|
||||||
|
services:
|
||||||
|
mongo:
|
||||||
|
image: mongo:4.2
|
||||||
|
ports:
|
||||||
|
- 27017:27017
|
||||||
|
|
||||||
|
maildev:
|
||||||
|
image: gitbase.de/robin/maildev:latest
|
||||||
|
ports:
|
||||||
|
- 80:80
|
||||||
|
- 25:25
|
||||||
|
|
||||||
|
tibi-server:
|
||||||
|
image: gitbase.de/cms/tibi-server
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
env:
|
||||||
|
DB_DIAL: mongodb://mongo
|
||||||
|
API_PORT: 8080
|
||||||
|
MAIL_HOST: maildev:25
|
||||||
|
SECURITY_ALLOWABSOLUTEPATHS: "true"
|
||||||
|
SECURITY_ALLOWUPPERPATHS: "true"
|
||||||
|
SECURITY_ALLOWRELATIVEPATHS: "true"
|
||||||
|
|
||||||
|
live-server:
|
||||||
|
image: gitbase.de/robin/live-server:latest
|
||||||
|
ports:
|
||||||
|
- 8081:8081
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@@ -53,31 +103,29 @@ jobs:
|
|||||||
- name: setup node 18
|
- name: setup node 18
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
|
|
||||||
- name: Initialize database
|
- name: container within a step
|
||||||
uses: ./.github/actions/init-db
|
uses: docker://node:20-alpine3.19
|
||||||
with:
|
with:
|
||||||
TIBI_API_NAMESPACE: allkids_erfurt
|
entrypoint: echo
|
||||||
TIBI_API_CONFIG_PATH: /repo/api/config.yml
|
args: "dastest"
|
||||||
PROJECT_NAME: AllKids
|
- name: check docker networking infos
|
||||||
|
|
||||||
- name: SERVICE RESTART
|
|
||||||
uses: docker://docker
|
|
||||||
with:
|
|
||||||
args: docker restart live-server tibi-server mongo maildev
|
|
||||||
|
|
||||||
- name: Cache node modules
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
.yarn/cache
|
|
||||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-yarn-
|
|
||||||
|
|
||||||
- name: setup yarn
|
|
||||||
run: |
|
run: |
|
||||||
corepack enable
|
echo "${{ toJson(job) }}"
|
||||||
corepack prepare yarn@3.2.4 --activate
|
echo "${{ github }}"
|
||||||
|
docker network ls
|
||||||
|
docker network inspect bridge
|
||||||
|
docker network inspect host
|
||||||
|
docker network inspect none
|
||||||
|
docker network inspect container:${{ job.services.tibi-server.id }}
|
||||||
|
docker network inspect container:${{ job.services.live-server.id }}
|
||||||
|
docker network inspect container:${{ job.services.mongo.id }}
|
||||||
|
docker network inspect container:${{ job.services.maildev.id }}
|
||||||
|
|
||||||
|
- name: install dependencies
|
||||||
|
env:
|
||||||
|
FORCE_COLOR: "true"
|
||||||
|
run: |
|
||||||
|
npm install -g yarn
|
||||||
yarn install
|
yarn install
|
||||||
|
|
||||||
- name: modify config
|
- name: modify config
|
||||||
@@ -117,61 +165,38 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
yarn build:server
|
yarn build:server
|
||||||
|
|
||||||
#- name: Load .env file
|
- name: build legacy
|
||||||
# run: |
|
env:
|
||||||
# set -a
|
FORCE_COLOR: "true"
|
||||||
# source .env
|
|
||||||
# set + a
|
|
||||||
|
|
||||||
- name: SERVICE RESTART
|
|
||||||
uses: docker://docker
|
|
||||||
with:
|
|
||||||
args: docker restart live-server tibi-server
|
|
||||||
|
|
||||||
- name: wait for boot
|
|
||||||
run: |
|
run: |
|
||||||
sleep 15
|
yarn build:legacy
|
||||||
|
|
||||||
- name: Inspect Service Containers
|
- name: Wait for Live Server
|
||||||
run: |
|
run: |
|
||||||
for container_id in $(docker ps --format '{{.ID}}'); do
|
attempts=0
|
||||||
echo "::group:: Container logs:"
|
max_attempts=2
|
||||||
docker logs $container_id || true
|
while ! curl --output /dev/null --silent --head --fail http://live-server:8081; do
|
||||||
echo "::endgroup::"
|
if [ $attempts -eq $max_attempts ]; then
|
||||||
done
|
echo "Live server not ready after $max_attempts attempts"
|
||||||
|
echo "${{ toJson(job) }}"
|
||||||
#- name: Wait for Live Server
|
curl -v http://live-server:8081
|
||||||
# run: |
|
exit 1
|
||||||
# attempts=0
|
fi
|
||||||
# max_attempts=5
|
attempts=$((attempts+1))
|
||||||
# same port since its inside the same network, so not 8081....
|
echo "Waiting for live-server to be ready... attempt $attempts"
|
||||||
# while ! curl --fail "http://live-server:80"; do
|
sleep 5
|
||||||
# if [ $attempts -eq $max_attempts ]; then
|
done
|
||||||
# echo "Live server not ready after $max_attempts attempts"
|
|
||||||
# echo "${{ toJson(job) }}"
|
|
||||||
# curl -v "http://live-server:80" || true
|
|
||||||
# echo "::group::liveserver logs"
|
|
||||||
# docker logs live-server
|
|
||||||
# echo "::endgroup::"
|
|
||||||
# echo "::group:: tibi-server logs"
|
|
||||||
# docker logs tibi-server
|
|
||||||
# echo "::endgroup::"
|
|
||||||
# echo "::group:: tibi-server curl"
|
|
||||||
# docker exec live-server cat /var/log/apache2/access.log || true
|
|
||||||
# docker exec live-server bash -c "apt-get update && apt-get install -y curl"
|
|
||||||
# docker exec live-server echo $PATH
|
|
||||||
# docker exec live-server bash -c 'curl -v "http://tibi-server:8080/api/v1/_/allkids_erfurt/ssr?token=owshwerNwoa&url=/noindex"'
|
|
||||||
# echo "::endgroup::"
|
|
||||||
# exit 1
|
|
||||||
# fi
|
|
||||||
# attempts=$((attempts+1))
|
|
||||||
# echo "Waiting for live-server to be ready... attempt $attempts"
|
|
||||||
# sleep 5
|
|
||||||
# done
|
|
||||||
|
|
||||||
- name: Test HTTP Request
|
- name: Test HTTP Request
|
||||||
run: |
|
run: |
|
||||||
curl -v http://live-server:80
|
echo "Live server not ready after $max_attempts attempts"
|
||||||
|
echo "${{ toJson(job) }}"
|
||||||
|
echo "${{ job.services.live-server.id }}"
|
||||||
|
echo "${{ job.services.tibi-server.id }}"
|
||||||
|
echo "${{ job.services.mongo.id }}"
|
||||||
|
docker logs "${{ job.services.tibi-server.id }}"
|
||||||
|
docker logs "${{ job.services.live-server.id }}"
|
||||||
|
curl -v http://live-server:8081
|
||||||
|
|
||||||
- name: Install Chrome
|
- name: Install Chrome
|
||||||
run: |
|
run: |
|
||||||
@@ -185,94 +210,18 @@ jobs:
|
|||||||
- name: Lighthouse Analysis
|
- name: Lighthouse Analysis
|
||||||
run: |
|
run: |
|
||||||
yarn add lighthouse
|
yarn add lighthouse
|
||||||
npx lighthouse http://live-server:80 --output json --output-path /tmp/lighthouse-report.json --chrome-flags="--headless --no-sandbox --disable-dev-shm-usage"
|
npx lighthouse http://127.0.0.1:8081 --output json --output-path /tmp/lighthouse-report.json --chrome-flags="--headless --no-sandbox --disable-dev-shm-usage"
|
||||||
|
|
||||||
- name: upload-to-nextcloud
|
# Notify-Lighthouse Step
|
||||||
|
- name: Notify Lighthouse
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update && sudo apt-get install -y curl bash findutils
|
docker run --rm \
|
||||||
export datetime=`date +%Y-%m-%d_%H-%M-%S`
|
-e PLUGIN_FROM=noreply@gitbase.de \
|
||||||
mkdir -p /tmp/cloudsend/${GITHUB_REF_NAME}/$${datetime}
|
-e PLUGIN_HOST=smtp.basehosts.de \
|
||||||
mv /tmp/lighthouse-report.json /tmp/cloudsend/${GITHUB_REF_NAME}/$${datetime}/
|
-e PLUGIN_RECIPIENT=recipient@example.com \
|
||||||
./scripts/cloudsend.sh /tmp/cloudsend/ https://www.basiswolke.de/index.php/s/xHGsypbqiifnGH5
|
-e PLUGIN_SUBJECT="Lighthouse Report" \
|
||||||
|
-v ${{ github.workspace }}/tmp:/lighthouse-reports \
|
||||||
deploy:
|
drillster/drone-email /tmp/lighthouse-report.json
|
||||||
name: deploy
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container:
|
|
||||||
image: gitbase.de/actions/ubuntu:latest
|
|
||||||
volumes:
|
|
||||||
- /data:/data
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
lfs: true
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
git fetch --force --tags
|
|
||||||
|
|
||||||
# setup node 20
|
|
||||||
- name: setup node 20
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 20
|
|
||||||
|
|
||||||
- name: install dependencies
|
|
||||||
run: |
|
|
||||||
npm install -g yarn
|
|
||||||
yarn install
|
|
||||||
|
|
||||||
- name: modify config
|
|
||||||
run: |
|
|
||||||
sed -i 's#\(sentryEnvironment.*\)".*"#\1"${GITHUB_REF_NAME}"#g' frontend/src/config.ts
|
|
||||||
sed -i 's#//\( sentry\\.init.*\)#\1#g' frontend/src/config.ts
|
|
||||||
set -o allexport
|
|
||||||
. ./.env
|
|
||||||
echo "PROJECT_RELEASE=${SENTRY_PROJECT}.r`git rev-list HEAD --count`-`git describe --all --long | sed 's+/+-+'`" >> .env
|
|
||||||
. ./.env
|
|
||||||
set +o allexport
|
|
||||||
echo ______ .env ______
|
|
||||||
cat .env
|
|
||||||
echo
|
|
||||||
sed -i 's#\(const release = \).*#\1"'${PROJECT_RELEASE}'"#g' api/hooks/config-client.js
|
|
||||||
sed -i 's#\(const originURL = \).*#\1"'${LIVE_URL}'"#g' api/hooks/config-client.js
|
|
||||||
|
|
||||||
# bash scripts/preload-meta.sh frontend/spa.html
|
|
||||||
# bash scripts/preload-meta.sh frontend/spa.html > frontend/_spa.html
|
|
||||||
# cp frontend/_spa.html frontend/spa.html
|
|
||||||
|
|
||||||
export stamp=`date +%s`
|
|
||||||
sed -i s/__TIMESTAMP__/$stamp/g frontend/spa.html
|
|
||||||
# sed -i s/__TIMESTAMP__/$stamp/g frontend/serviceworker.js
|
|
||||||
# cat frontend/serviceworker.js
|
|
||||||
rm api/templates/spa.html
|
|
||||||
cp frontend/spa.html api/templates/spa.html
|
|
||||||
echo ______ frontend/spa.html ______
|
|
||||||
cat frontend/spa.html
|
|
||||||
|
|
||||||
# sed -i 's#\(PREVIEW_URL=\).*#\1'${LIVE_URL}/preview'#g' api/config.yml.env
|
|
||||||
echo ______ api/config.yml.env ______
|
|
||||||
cat api/config.yml.env
|
|
||||||
|
|
||||||
- name: build
|
|
||||||
env:
|
|
||||||
FORCE_COLOR: "true"
|
|
||||||
run: |
|
|
||||||
yarn build
|
|
||||||
|
|
||||||
- name: build ssr
|
|
||||||
env:
|
|
||||||
FORCE_COLOR: "true"
|
|
||||||
run: |
|
|
||||||
yarn build:server
|
|
||||||
|
|
||||||
- name: build legacy
|
|
||||||
env:
|
|
||||||
FORCE_COLOR: "true"
|
|
||||||
run: |
|
|
||||||
yarn build:legacy
|
|
||||||
|
|
||||||
- name: deploy
|
- name: deploy
|
||||||
if: github.ref == 'refs/heads/master'
|
if: github.ref == 'refs/heads/master'
|
||||||
|
|||||||
BIN
.yarn/cache/@formatjs-ecma402-abstract-npm-1.18.0-37d53623fc-22be7f0239.zip
vendored
Normal file
BIN
.yarn/cache/@formatjs-ecma402-abstract-npm-1.18.0-37d53623fc-22be7f0239.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@formatjs-fast-memoize-npm-2.2.0-4a46a61b8b-8697fe72a7.zip
vendored
Normal file
BIN
.yarn/cache/@formatjs-fast-memoize-npm-2.2.0-4a46a61b8b-8697fe72a7.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.7.3-78669ca75e-3efd07e26d.zip
vendored
Normal file
BIN
.yarn/cache/@formatjs-icu-messageformat-parser-npm-2.7.3-78669ca75e-3efd07e26d.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.7.0-43fff8cc2d-a461d95b0a.zip
vendored
Normal file
BIN
.yarn/cache/@formatjs-icu-skeleton-parser-npm-1.7.0-43fff8cc2d-a461d95b0a.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@formatjs-intl-localematcher-npm-0.5.2-7465fa5348-a741d69e9d.zip
vendored
Normal file
BIN
.yarn/cache/@formatjs-intl-localematcher-npm-0.5.2-7465fa5348-a741d69e9d.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@puppeteer-browsers-npm-1.8.0-ac87d69e47-94bd9ba2c9.zip
vendored
Normal file
BIN
.yarn/cache/@puppeteer-browsers-npm-1.8.0-ac87d69e47-94bd9ba2c9.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-core-npm-6.19.7-4cbb62d040-d212e8ef07.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-core-npm-6.19.7-4cbb62d040-d212e8ef07.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-hub-npm-6.19.7-6469362c23-10bb1c5cba.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-hub-npm-6.19.7-6469362c23-10bb1c5cba.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-minimal-npm-6.19.7-7527a9814c-9153ac426e.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-minimal-npm-6.19.7-7527a9814c-9153ac426e.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-node-npm-6.19.7-edcd5da482-2293b0d1d1.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-node-npm-6.19.7-edcd5da482-2293b0d1d1.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-types-npm-6.19.7-f75535a9f4-f46ef74a33.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-types-npm-6.19.7-f75535a9f4-f46ef74a33.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@sentry-utils-npm-6.19.7-d61c6c8632-a000223b9c.zip
vendored
Normal file
BIN
.yarn/cache/@sentry-utils-npm-6.19.7-d61c6c8632-a000223b9c.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@tootallnate-quickjs-emscripten-npm-0.23.0-a889ea7aeb-c350a2947f.zip
vendored
Normal file
BIN
.yarn/cache/@tootallnate-quickjs-emscripten-npm-0.23.0-a889ea7aeb-c350a2947f.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip
vendored
Normal file
BIN
.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip
vendored
Normal file
BIN
.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip
vendored
Normal file
BIN
.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/ast-types-npm-0.13.4-69f7e68df8-5a51f7b705.zip
vendored
Normal file
BIN
.yarn/cache/ast-types-npm-0.13.4-69f7e68df8-5a51f7b705.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/axe-core-npm-4.8.2-d69866ceee-8c19f507da.zip
vendored
Normal file
BIN
.yarn/cache/axe-core-npm-4.8.2-d69866ceee-8c19f507da.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/b4a-npm-1.6.4-080bcba845-81b086f9af.zip
vendored
Normal file
BIN
.yarn/cache/b4a-npm-1.6.4-080bcba845-81b086f9af.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip
vendored
Normal file
BIN
.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-8b04e88eb8.zip
vendored
Normal file
BIN
.yarn/cache/basic-ftp-npm-5.0.3-95a5b33162-8b04e88eb8.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip
vendored
Normal file
BIN
.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/chrome-launcher-npm-1.1.0-0ef7a69f46-55db70ada9.zip
vendored
Normal file
BIN
.yarn/cache/chrome-launcher-npm-1.1.0-0ef7a69f46-55db70ada9.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/chromium-bidi-npm-0.4.33-423dcfa06c-a7c8191a54.zip
vendored
Normal file
BIN
.yarn/cache/chromium-bidi-npm-0.4.33-423dcfa06c-a7c8191a54.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/configstore-npm-5.0.1-739433cdc5-60ef65d493.zip
vendored
Normal file
BIN
.yarn/cache/configstore-npm-5.0.1-739433cdc5-60ef65d493.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/cross-fetch-npm-4.0.0-9c67668db4-ecca4f37ff.zip
vendored
Normal file
BIN
.yarn/cache/cross-fetch-npm-4.0.0-9c67668db4-ecca4f37ff.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/crypto-random-string-npm-2.0.0-8ab47992ef-0283879f55.zip
vendored
Normal file
BIN
.yarn/cache/crypto-random-string-npm-2.0.0-8ab47992ef-0283879f55.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/csp_evaluator-npm-1.1.1-dd77cbd02e-2db7806838.zip
vendored
Normal file
BIN
.yarn/cache/csp_evaluator-npm-1.1.1-dd77cbd02e-2db7806838.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/data-uri-to-buffer-npm-6.0.1-327e9c6acb-9140e68c58.zip
vendored
Normal file
BIN
.yarn/cache/data-uri-to-buffer-npm-6.0.1-327e9c6acb-9140e68c58.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/define-lazy-prop-npm-2.0.0-bba0cd91a7-0115fdb065.zip
vendored
Normal file
BIN
.yarn/cache/define-lazy-prop-npm-2.0.0-bba0cd91a7-0115fdb065.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/degenerator-npm-5.0.1-97c678cdaf-a64fa39cdf.zip
vendored
Normal file
BIN
.yarn/cache/degenerator-npm-5.0.1-97c678cdaf-a64fa39cdf.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/devtools-protocol-npm-0.0.1203626-3c95a08357-7bbcb1e637.zip
vendored
Normal file
BIN
.yarn/cache/devtools-protocol-npm-0.0.1203626-3c95a08357-7bbcb1e637.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/devtools-protocol-npm-0.0.1211954-4bbefcbc5b-7d57d822d1.zip
vendored
Normal file
BIN
.yarn/cache/devtools-protocol-npm-0.0.1211954-4bbefcbc5b-7d57d822d1.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-d577579009.zip
vendored
Normal file
BIN
.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-d577579009.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip
vendored
Normal file
BIN
.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip
vendored
Normal file
BIN
.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip
vendored
Normal file
BIN
.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/escodegen-npm-2.1.0-e0bf940745-096696407e.zip
vendored
Normal file
BIN
.yarn/cache/escodegen-npm-2.1.0-e0bf940745-096696407e.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/esprima-npm-4.0.1-1084e98778-b45bc805a6.zip
vendored
Normal file
BIN
.yarn/cache/esprima-npm-4.0.1-1084e98778-b45bc805a6.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip
vendored
Normal file
BIN
.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip
vendored
Normal file
BIN
.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/fast-fifo-npm-1.3.2-391cc25df4-6bfcba3e4d.zip
vendored
Normal file
BIN
.yarn/cache/fast-fifo-npm-1.3.2-391cc25df4-6bfcba3e4d.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip
vendored
Normal file
BIN
.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip
vendored
Normal file
BIN
.yarn/cache/fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip
vendored
Normal file
BIN
.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/get-uri-npm-6.0.2-b89b919843-762de3b0e3.zip
vendored
Normal file
BIN
.yarn/cache/get-uri-npm-6.0.2-b89b919843-762de3b0e3.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/http-link-header-npm-1.1.1-2a7a451e83-f9225b5500.zip
vendored
Normal file
BIN
.yarn/cache/http-link-header-npm-1.1.1-2a7a451e83-f9225b5500.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-48d4fac997.zip
vendored
Normal file
BIN
.yarn/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-48d4fac997.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-088969a0dd.zip
vendored
Normal file
BIN
.yarn/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-088969a0dd.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip
vendored
Normal file
BIN
.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip
vendored
Normal file
Binary file not shown.
BIN
.yarn/cache/image-ssim-npm-0.2.0-baf7d3dd2c-c1bb7c6d6c.zip
vendored
Normal file
BIN
.yarn/cache/image-ssim-npm-0.2.0-baf7d3dd2c-c1bb7c6d6c.zip
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user