snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s
This commit is contained in:
4
.github/workflows/assets/client/config.js
vendored
Normal file
4
.github/workflows/assets/client/config.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
// Corteza API location
|
||||
window.CortezaAPI = '//localhost:8888/api'
|
||||
|
||||
window.i18nPseudoModeEnabled = false
|
||||
242
.github/workflows/assets/client/vue.config-builder.js
vendored
Normal file
242
.github/workflows/assets/client/vue.config-builder.js
vendored
Normal file
@@ -0,0 +1,242 @@
|
||||
const webpack = require('webpack')
|
||||
const exec = require('child_process').execSync
|
||||
const path = require('path')
|
||||
const Vue = require('vue')
|
||||
|
||||
module.exports = ({ appFlavour, appLabel, version = process.env.BUILD_VERSION, theme, packageAlias, root = path.resolve('.'), env = process.env.NODE_ENV }) => {
|
||||
const isDevelopment = (env === 'development')
|
||||
const isTest = (env === 'test')
|
||||
|
||||
if (isTest) {
|
||||
Vue.config.devtools = false
|
||||
Vue.config.productionTip = false
|
||||
}
|
||||
|
||||
if (isDevelopment) {
|
||||
Vue.config.devtools = true
|
||||
Vue.config.performance = true
|
||||
}
|
||||
|
||||
const optimization = isTest
|
||||
? {}
|
||||
: {
|
||||
usedExports: true,
|
||||
runtimeChunk: 'single',
|
||||
splitChunks: {
|
||||
chunks: 'all',
|
||||
minSize: 20000,
|
||||
maxSize: 244000,
|
||||
cacheGroups: {
|
||||
vendor: {
|
||||
test: /[\\/]node_modules[\\/]/,
|
||||
name: 'vendors',
|
||||
chunks: 'all',
|
||||
priority: -10,
|
||||
},
|
||||
common: {
|
||||
minChunks: 2,
|
||||
priority: -20,
|
||||
reuseExistingChunk: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
return {
|
||||
publicPath: isDevelopment ? '/' : './',
|
||||
lintOnSave: true,
|
||||
runtimeCompiler: true,
|
||||
|
||||
configureWebpack: {
|
||||
// other webpack options to merge in ...
|
||||
|
||||
// Webpack 5 specific configuration
|
||||
resolve: {
|
||||
symlinks: false,
|
||||
fallback: {
|
||||
path: false,
|
||||
fs: false, // Add explicit false for Node.js core modules
|
||||
crypto: false,
|
||||
stream: false,
|
||||
util: false,
|
||||
},
|
||||
},
|
||||
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
FLAVOUR: JSON.stringify(appFlavour),
|
||||
WEBAPP: JSON.stringify(appLabel),
|
||||
VERSION: JSON.stringify(version || ('' + exec('git describe --always --tags')).trim()),
|
||||
BUILD_TIME: JSON.stringify((new Date()).toISOString()),
|
||||
}),
|
||||
],
|
||||
|
||||
optimization: {
|
||||
...optimization,
|
||||
moduleIds: 'deterministic',
|
||||
chunkIds: 'named',
|
||||
emitOnErrors: false,
|
||||
},
|
||||
|
||||
stats: {
|
||||
warnings: false,
|
||||
errors: false,
|
||||
},
|
||||
|
||||
performance: {
|
||||
hints: isDevelopment ? false : 'warning',
|
||||
maxEntrypointSize: 512000,
|
||||
maxAssetSize: 512000,
|
||||
},
|
||||
},
|
||||
|
||||
chainWebpack: config => {
|
||||
// https://cli.vuejs.org/guide/troubleshooting.html#symbolic-links-in-node-modules
|
||||
config.resolve.symlinks(false)
|
||||
|
||||
// Remove css extraction issues
|
||||
// https://github.com/vuejs/vue-cli/issues/3771#issuecomment-526228100
|
||||
config.plugin('friendly-errors').tap(args => {
|
||||
const vueCli3Transformer = args[0].additionalTransformers[0]
|
||||
args[0].additionalTransformers = [
|
||||
vueCli3Transformer,
|
||||
error => {
|
||||
return /\[mini-css-extract-plugin\]/.test(error.message) ? {} : error
|
||||
},
|
||||
]
|
||||
return args
|
||||
})
|
||||
|
||||
// Update copy-webpack-plugin configuration for v8+
|
||||
config.plugins.has('copy') && config.plugin('copy').tap(options => {
|
||||
options[0].patterns = [{
|
||||
from: 'public',
|
||||
globOptions: {
|
||||
ignore: ['**/config*js', '**/*gitignore', '**/index.html'],
|
||||
},
|
||||
noErrorOnMissing: true,
|
||||
}]
|
||||
return options
|
||||
})
|
||||
|
||||
// Aliasing full package name instead of '@' so we do
|
||||
// not break imports on apps that import this code
|
||||
config.resolve.alias.delete('@')
|
||||
if (packageAlias) {
|
||||
config.resolve.alias.set(packageAlias, root)
|
||||
}
|
||||
|
||||
if (isTest) {
|
||||
const scssRule = config.module.rule('scss')
|
||||
scssRule.uses.clear()
|
||||
scssRule
|
||||
.use('null-loader')
|
||||
.loader('null-loader')
|
||||
}
|
||||
|
||||
const scssNormal = config.module.rule('scss').oneOf('normal')
|
||||
|
||||
scssNormal.use('sass-loader')
|
||||
.loader('sass-loader')
|
||||
.tap(options => ({
|
||||
...options,
|
||||
sourceMap: true,
|
||||
sassOptions: {
|
||||
outputStyle: isDevelopment ? 'expanded' : 'compressed',
|
||||
},
|
||||
}))
|
||||
|
||||
// Load CSS assets according to their location
|
||||
scssNormal.use('resolve-url-loader')
|
||||
.loader('resolve-url-loader').options({
|
||||
keepQuery: true,
|
||||
removeCR: true,
|
||||
root: path.join(root, 'src/themes', theme),
|
||||
})
|
||||
.before('sass-loader')
|
||||
|
||||
// Keep this to ensure we don't have multiple HTML plugins
|
||||
},
|
||||
|
||||
devServer: {
|
||||
host: '127.0.0.1',
|
||||
port: 8080,
|
||||
hot: true,
|
||||
allowedHosts: 'all', // replaces disableHostCheck
|
||||
webSocketServer: 'ws',
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
},
|
||||
|
||||
proxy: {
|
||||
'^/custom.css': {
|
||||
target: fetchBaseUrl(),
|
||||
},
|
||||
|
||||
'^/code-snippets.js': {
|
||||
target: fetchBaseUrl(),
|
||||
},
|
||||
},
|
||||
|
||||
// Webpack 5 DevServer configuration
|
||||
watchFiles: {
|
||||
paths: [
|
||||
'**/*',
|
||||
'!**/node_modules/!(@cortezaproject)/**',
|
||||
],
|
||||
options: {
|
||||
usePolling: true,
|
||||
aggregateTimeout: 200,
|
||||
poll: 1000,
|
||||
},
|
||||
},
|
||||
|
||||
client: {
|
||||
overlay: false,
|
||||
progress: true,
|
||||
},
|
||||
},
|
||||
|
||||
css: {
|
||||
sourceMap: isDevelopment,
|
||||
extract: !isTest,
|
||||
loaderOptions: {
|
||||
sass: {
|
||||
sassOptions: {
|
||||
outputStyle: isDevelopment ? 'expanded' : 'compressed',
|
||||
},
|
||||
},
|
||||
postcss: {
|
||||
postcssOptions: {
|
||||
plugins: [
|
||||
require('autoprefixer'),
|
||||
require('rtlcss'),
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function fetchBaseUrl () {
|
||||
const fs = require('fs')
|
||||
const window = {}
|
||||
|
||||
const fileContents =
|
||||
fs.existsSync('public/config.js')
|
||||
? fs.readFileSync('public/config.js', 'utf-8')
|
||||
: ''
|
||||
|
||||
try {
|
||||
// eslint-disable-next-line no-eval
|
||||
eval(fileContents)
|
||||
|
||||
const u = window.CortezaAPI || ''
|
||||
const ur = new URL(u.startsWith('//') ? `http:${u}` : u)
|
||||
|
||||
return `${ur.protocol}//${ur.host}/`
|
||||
} catch (e) {
|
||||
return '/'
|
||||
}
|
||||
}
|
||||
62
.github/workflows/assets/docker-compose.yaml
vendored
Normal file
62
.github/workflows/assets/docker-compose.yaml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
version: "3.5"
|
||||
|
||||
services:
|
||||
backend:
|
||||
network_mode: host
|
||||
image: golang:${GO_VERSION}
|
||||
volumes:
|
||||
- "${PWD}:/corteza"
|
||||
entrypoint: |
|
||||
sh -c "
|
||||
git config --global --add safe.directory /corteza &&
|
||||
go run /corteza/server/cmd/corteza/main.go serve-api
|
||||
"
|
||||
working_dir: /corteza/server
|
||||
environment:
|
||||
- DB_DSN=postgres://corteza:root@localhost:5432/corteza_cy_test?sslmode=disable
|
||||
- HTTP_ADDR=:8888
|
||||
- HTTP_WEBAPP_ENABLED=true
|
||||
- ENVIRONMENT=dev
|
||||
- AUTH_REQUEST_RATE_LIMIT=0
|
||||
- FEDERATION_ENABLED=true
|
||||
- FEDERATION_HOST=http://corteza
|
||||
- FEDERATION_LABEL=Corteza e2e federation host
|
||||
healthcheck:
|
||||
test: curl --silent --fail-early --fail http://localhost:8888/healthcheck || exit 1
|
||||
interval: 30s
|
||||
timeout: 30s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
postgres:
|
||||
network_mode: host
|
||||
image: postgres:15
|
||||
environment:
|
||||
POSTGRES_USER: corteza
|
||||
POSTGRES_PASSWORD: root
|
||||
POSTGRES_DB: corteza_cy_test
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
client:
|
||||
network_mode: host
|
||||
image: node:22-slim
|
||||
volumes:
|
||||
- "${PWD}:/corteza"
|
||||
working_dir: /corteza
|
||||
environment:
|
||||
BUILD_VERSION: 2024.9.10
|
||||
healthcheck:
|
||||
test: wget --no-verbose --tries=1 --spider http://localhost:8080 || exit 1
|
||||
interval: 30s
|
||||
timeout: 30s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 2g
|
||||
Reference in New Issue
Block a user