##// END OF EJS Templates
release: Merge default into stable for release preparation
marcink -
r3192:689a0c93 merge stable
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -0,0 +1,10
1 {
2 "presets": [
3 ["env", {
4 "targets": {
5 "browsers": ["last 2 versions"]
6 }
7 }]
8 ],
9 "plugins": ["transform-object-rest-spread"]
10 }
@@ -0,0 +1,44
1 .. _integrations-rcextensions:
2
3
4 rcextensions integrations
5 =========================
6
7
8 Since RhodeCode 4.14 release rcextensions aren't part of rhodecode-tools, and instead
9 they are shipped with the new or upgraded installations.
10
11 The rcextensions template `rcextensions.tmpl` is created in the `etc/` directory
12 of enterprise or community installation. It's always re-created and updated on upgrades.
13
14
15 Activating rcextensions
16 +++++++++++++++++++++++
17
18 To activate rcextensions simply copy or rename the created template rcextensions
19 into the path where the rhodecode.ini file is located::
20
21 pushd ~/rccontrol/enterprise-1/
22 or
23 pushd ~/rccontrol/community-1/
24
25 mv etc/rcextensions.tmpl rcextensions
26
27
28 rcextensions are loaded when |RCE| starts. So a restart is required after activation or
29 change of code in rcextensions.
30
31 Simply restart only the enterprise/community instance::
32
33 rccontrol restart enterprise-1
34 or
35 rccontrol restart community-1
36
37
38 Example usage
39 +++++++++++++
40
41
42 To see examples of usage please check the examples directory under:
43
44 https://code.rhodecode.com/rhodecode-enterprise-ce/files/stable/rhodecode/config/rcextensions/examples
@@ -0,0 +1,114
1 |RCE| 4.14.0 |RNS|
2 ------------------
3
4 Release Date
5 ^^^^^^^^^^^^
6
7 - 2018-11-02
8
9
10 New Features
11 ^^^^^^^^^^^^
12
13 - Diffs: expose range diff inside the PR view. It's now possible to show
14 commit-per-commit view of changes in pull request.
15 - Diffs: new sticky context bar.
16 When browsing diffs we show file path of the current diff so users are aware all the time
17 what file they are reviewing.
18 - Diffs: added quick file selector in diffs views. Now it's possible to select a file
19 in large diffs from the sticky header for quicker access to certain interesting files
20 in diffs.
21 - Diffs: introducing diff menu for whitespace toggle and context changes.
22 It's now possible to show/hide whitespace changes and toggle the file context in
23 all diff places including pull requests.
24 - Comments: allow commenting on empty files without content.
25 - Repositories: added option to archive repositories instead of deleting them.
26 Archived repositories are useful for future auditing, but they are read-only.
27 - rcextensions: new rcextensions. We're introducing new `rcextensions` that will be base
28 for future low-level integrations. It's now possible to expose nice messages back
29 to the users when using `rcextensions`.
30 - Summary page: slightly re-organize summary page for better user experience.
31
32
33 General
34 ^^^^^^^
35
36 - Mailing: switched from custom library to pyramid_mailer with python3 compatibility.
37 - Frontend: Switched to Polymer 3.0.
38 - Frontend: fixed problems with IE11 and brought back support for that browser.
39 - Git: use a fetch_sync based creation of remote repositories.
40 This fixes problems with importing from Bitbucket.
41 - Comments: update comments email templates.
42 - Packaging: only wrap external dependency scripts. This makes execution of scripts
43 roughly 5x faster due to much smaller PATH tree.
44 - HTTP: use application wide detection of invalid bytes sent via URL/GET/POST data.
45 - Fonts/UI: use consistent fonts across the whole application.
46 Few places had non-standard custom fonts.
47 - Google: updated google auth plugin with latest API changes.
48 - Core: handle edge case requesting matched routes but with hg/svn/git or api context.
49 - Dependencies: bumped rhodecode-tools to 1.0.0 release using Apache2 license.
50 - Dependencies: atomicwrites==1.2.1
51 - Dependencies: attrs==18.2.0
52 - Dependencies: dogpile.cache==0.6.7
53 - Dependencies: psutil==5.4.7
54 - Dependencies: pathlib2==2.3.2
55 - Dependencies: subprocess32==3.5.2
56 - Dependencies: gevent==1.3.6
57 - Dependencies: greenlet==0.4.15
58 - Dependencies: pytest==3.8.2
59 - Dependencies: py==1.6.0
60 - Dependencies: pytest-cov==2.6.0
61 - Dependencies: pytest-timeout==1.3.2
62 - Dependencies: coverage==4.5.1
63 - Dependencies: psycopg2==2.7.5
64
65
66 Security
67 ^^^^^^^^
68
69 - RST: improve Javascript RST sandbox.
70 - Jupyter: sanitize markdown cells similar as we do for our own markdown cleanup.
71
72
73 Performance
74 ^^^^^^^^^^^
75
76 - SSH: improved SSH wrapper execution speed by using optimized binary script wrapping.
77 - Core: reduced font and JavaScript load times.
78
79
80 Fixes
81 ^^^^^
82
83 - Comments: ensure we always display unmatched comments.
84 - Branch Permissions: fixed changing rule order for branch permissions.
85 - Users: ensure get_first_superadmin actually gets the 1st created super-admin.
86 - Users: when deleting users ensure we also clear personal flag.
87 This fixes some problems with multiple personal groups.
88 - Diffs: disable the error border on highlight errors.
89 - Integrations: implement retry to HTTP[S] calls for integrations.
90 Web parts will do a 3x retry call in case service is not reachable or
91 responds with 5XX codes.
92 - Git: fixed pull-request updates in case branch names are the same as the file names.
93 - Supervisor: add patch for older kernel support.
94 - Compare: fixed file after/before links in compare view for cross repo compare.
95 - Emails: improve fonts and rendering of email HTML.
96 - Permissions: flush members of user groups permissions to clear caches.
97 - Repository: add check preventing of removal of repo with attached pull requests. Users
98 should use the new archive repo function instead.
99
100
101 Upgrade notes
102 ^^^^^^^^^^^^^
103
104 - In this release, we're shipping a new `rcextensions`. The changes made are
105 backward incompatible. An update of `rcextensions` is required
106 prior to using them again. Please check the new `rcextensions.tmpl` directory
107 located in `etc/rcextensions.tmpl` in your instance installation path.
108 Old code should be 100% portable by just copy&paste to the right function.
109
110 - Mailing: We introduced a new mailing library. The older options should be compatible and
111 generally, old configuration doesn't need any changes in order to send emails.
112 We, however, encourage users to re-check mailing setup in case of some more
113 sophisticated email setups.
114 There's a possibility to send a test email from admin > settings > email section.
@@ -0,0 +1,3
1 self: super: {
2
3 }
@@ -0,0 +1,16
1 diff -rup supervisor-3.3.4-orig/supervisor/options.py supervisor-3.3.4/supervisor/options.py
2 --- supervisor-3.3.4-orig/supervisor/options.py 1970-01-01 01:00:01.000000000 +0100
3 +++ supervisor-3.3.4/supervisor-new/options.py 2018-10-24 10:53:19.368503735 +0200
4 @@ -1395,7 +1395,11 @@ class ServerOptions(Options):
5 name = limit['name']
6 name = name # name is used below by locals()
7
8 - soft, hard = resource.getrlimit(res)
9 + try:
10 + soft, hard = resource.getrlimit(res)
11 + except Exception:
12 + # handle old kernel problems, this is not critical to execute
13 + soft, hard = -1, -1
14
15 if (soft < min) and (soft != -1): # -1 means unlimited
16 if (hard < min) and (hard != -1):
@@ -0,0 +1,3
1 ## special libraries we could extend the requirements.txt file with to add some
2 ## custom libraries usefull for debug and memory tracing
3 objgraph==3.1.1
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
1 NO CONTENT: new file 100644
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
1 NO CONTENT: new file 100644
The requested commit or file is too big and content was truncated. Show full diff
@@ -1,5 +1,5
1 1 [bumpversion]
2 current_version = 4.13.3
2 current_version = 4.14.0
3 3 message = release: Bump version {current_version} to {new_version}
4 4
5 5 [bumpversion:file:rhodecode/VERSION]
@@ -24,7 +24,6 syntax: regexp
24 24 ^.dev
25 25 ^._dev
26 26 ^build/
27 ^bower_components/
28 27 ^coverage\.xml$
29 28 ^data$
30 29 ^\.eggs/
@@ -36,14 +35,15 syntax: regexp
36 35 ^htmlcov
37 36 ^junit\.xml$
38 37 ^node_modules/
38 ^node_binaries/
39 39 ^pylint.log$
40 40 ^rcextensions/
41 41 ^result$
42 42 ^rhodecode/public/css/style.css$
43 43 ^rhodecode/public/css/style-polymer.css$
44 44 ^rhodecode/public/js/rhodecode-components.html$
45 ^rhodecode/public/js/rhodecode-components.js$
45 46 ^rhodecode/public/js/scripts.js$
46 ^rhodecode/public/js/rhodecode-components.js$
47 47 ^rhodecode/public/js/src/components/root-styles.gen.html$
48 48 ^rhodecode/public/js/vendors/webcomponentsjs/
49 49 ^rhodecode\.db$
@@ -5,25 +5,20 done = false
5 5 done = true
6 6
7 7 [task:rc_tools_pinned]
8 done = true
9 8
10 9 [task:fixes_on_stable]
11 done = true
12 10
13 11 [task:pip2nix_generated]
14 done = true
15 12
16 13 [task:changelog_updated]
17 done = true
18 14
19 15 [task:generate_api_docs]
20 done = true
16
17 [task:updated_translation]
21 18
22 19 [release]
23 state = prepared
24 version = 4.13.3
25
26 [task:updated_translation]
20 state = in_progress
21 version = 4.14.0
27 22
28 23 [task:generate_js_routes]
29 24
@@ -1,4 +1,12
1 1 var gruntConfig = require('./grunt_config.json');
2 var webpackConfig = require('./webpack.config');
3 gruntConfig["webpack"] = {
4 options: {
5 stats: !process.env.NODE_ENV || process.env.NODE_ENV === 'development'
6 },
7 prod: webpackConfig,
8 dev: Object.assign({ watch: false }, webpackConfig)
9 };
2 10
3 11 module.exports = function(grunt) {
4 12 grunt.initConfig(gruntConfig);
@@ -7,9 +15,7 module.exports = function(grunt) {
7 15 grunt.loadNpmTasks('grunt-contrib-concat');
8 16 grunt.loadNpmTasks('grunt-contrib-watch');
9 17 grunt.loadNpmTasks('grunt-contrib-jshint');
10 grunt.loadNpmTasks('grunt-vulcanize');
11 grunt.loadNpmTasks('grunt-crisper');
12 18 grunt.loadNpmTasks('grunt-contrib-copy');
13
14 grunt.registerTask('default', ['less:production', 'less:components', 'concat:polymercss', 'copy', 'concat:dist', 'vulcanize', 'crisper']);
19 grunt.loadNpmTasks('grunt-webpack');
20 grunt.registerTask('default', ['less:production', 'less:components', 'copy', 'webpack', 'concat:dist']);
15 21 };
@@ -39,7 +39,6 include rhodecode/public/sounds/*.mp3
39 39 include rhodecode/public/sounds/*.wav
40 40
41 41 # fonts
42 recursive-include rhodecode/public/fonts/ProximaNova *
43 42 recursive-include rhodecode/public/fonts/RCIcons *
44 43
45 44 # js
@@ -1,9 +1,9
1 1
2 2 .PHONY: clean docs docs-clean docs-cleanup test test-clean test-only test-only-postgres test-only-mysql web-build
3 3
4 WEBPACK=./node_modules/webpack/bin/webpack.js
5 GRUNT=grunt
6 4 NODE_PATH=./node_modules
5 WEBPACK=./node_binaries/webpack
6 GRUNT=./node_binaries/grunt
7 7
8 8
9 9 clean:
@@ -26,8 +26,6 debug = true
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 #smtp_auth =
31 29
32 30 [server:main]
33 31 ## COMMON ##
@@ -281,8 +279,10 supervisor.group_id = dev
281 279 ## Display extended labs settings
282 280 labs_settings_active = true
283 281
284 ## custom exception store path, defaults to TMPDIR
285 exception_tracker.store_path =
282 ## Custom exception store path, defaults to TMPDIR
283 ## This is used to store exception from RhodeCode in shared directory
284 #exception_tracker.store_path =
285
286 286
287 287 ####################################
288 288 ### CELERY CONFIG ####
@@ -506,7 +506,7 debug_style = true
506 506 ###########################################
507 507 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
508 508 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
509 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
509 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
510 510 # pymysql is an alternative driver for MySQL, use in case of problems with default one
511 511 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
512 512
@@ -26,8 +26,6 debug = true
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 #smtp_auth =
31 29
32 30 [server:main]
33 31 ## COMMON ##
@@ -256,8 +254,9 supervisor.group_id = prod
256 254 ## Display extended labs settings
257 255 labs_settings_active = true
258 256
259 ## custom exception store path, defaults to TMPDIR
260 exception_tracker.store_path =
257 ## Custom exception store path, defaults to TMPDIR
258 ## This is used to store exception from RhodeCode in shared directory
259 #exception_tracker.store_path =
261 260
262 261
263 262 ####################################
@@ -480,7 +479,7 set debug = false
480 479 ###########################################
481 480 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
482 481 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
483 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
482 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode?charset=utf8
484 483 # pymysql is an alternative driver for MySQL, use in case of problems with default one
485 484 #sqlalchemy.db1.url = mysql+pymysql://root:qweqwe@localhost/rhodecode
486 485
@@ -9,7 +9,7
9 9 # {
10 10 # # Thoughts on how to configure the dev environment
11 11 # rc = {
12 # codeInternalUrl = "https://usr:token@internal-code.rhodecode.com";
12 # codeInternalUrl = "https://usr:token@code.rhodecode.com/internal";
13 13 # sources = {
14 14 # rhodecode-vcsserver = "/home/user/work/rhodecode-vcsserver";
15 15 # rhodecode-enterprise-ce = "/home/user/work/rhodecode-enterprise-ce";
@@ -26,10 +26,18 args@
26 26 }:
27 27
28 28 let
29 # Use nixpkgs from args or import them. We use this indirect approach
30 # through args to be able to use the name `pkgs` for our customized packages.
31 # Otherwise we will end up with an infinite recursion.
32 pkgs = args.pkgs or (import <nixpkgs> { });
29 pkgs_ = (import <nixpkgs> {});
30 in
31
32 let
33 pkgs = import <nixpkgs> {
34 overlays = [
35 (import ./pkgs/overlays.nix)
36 ];
37 inherit
38 (pkgs_)
39 system;
40 };
33 41
34 42 # Works with the new python-packages, still can fallback to the old
35 43 # variant.
@@ -46,7 +54,7 let
46 54 in
47 55 !builtins.elem (basename path) [
48 56 ".git" ".hg" "__pycache__" ".eggs" ".idea" ".dev"
49 "bower_components" "node_modules"
57 "node_modules" "node_binaries"
50 58 "build" "data" "result" "tmp"] &&
51 59 !builtins.elem ext ["egg-info" "pyc"] &&
52 60 # TODO: johbo: This check is wrong, since "path" contains an absolute path,
@@ -55,7 +63,11 let
55 63
56 64 sources =
57 65 let
58 inherit (pkgs.lib) all isString attrValues;
66 inherit
67 (pkgs.lib)
68 all
69 isString
70 attrValues;
59 71 sourcesConfig = pkgs.config.rc.sources or {};
60 72 in
61 73 # Ensure that sources are configured as strings. Using a path
@@ -66,18 +78,12 let
66 78 version = builtins.readFile "${rhodecode-enterprise-ce-src}/rhodecode/VERSION";
67 79 rhodecode-enterprise-ce-src = builtins.filterSource src-filter ./.;
68 80
69 buildBowerComponents = pkgs.buildBowerComponents;
70 81 nodeEnv = import ./pkgs/node-default.nix {
71 inherit pkgs;
82 inherit
83 pkgs;
72 84 };
73 85 nodeDependencies = nodeEnv.shell.nodeDependencies;
74 86
75 bowerComponents = buildBowerComponents {
76 name = "enterprise-ce-${version}";
77 generated = ./pkgs/bower-packages.nix;
78 src = rhodecode-enterprise-ce-src;
79 };
80
81 87 rhodecode-testdata-src = sources.rhodecode-testdata or (
82 88 pkgs.fetchhg {
83 89 url = "https://code.rhodecode.com/upstream/rc_testdata";
@@ -95,23 +101,22 let
95 101 pythonLocalOverrides = self: super: {
96 102 rhodecode-enterprise-ce =
97 103 let
98 linkNodeAndBowerPackages = ''
104 linkNodePackages = ''
99 105 export RHODECODE_CE_PATH=${rhodecode-enterprise-ce-src}
100 106
101 echo "[BEGIN]: Link node packages"
102 rm -fr node_modules
103 mkdir node_modules
107 echo "[BEGIN]: Link node packages and binaries"
104 108 # johbo: Linking individual packages allows us to run "npm install"
105 109 # inside of a shell to try things out. Re-entering the shell will
106 110 # restore a clean environment.
111 rm -fr node_modules
112 mkdir node_modules
107 113 ln -s ${nodeDependencies}/lib/node_modules/* node_modules/
108 echo "[DONE]: Link node packages"
114 export NODE_PATH=./node_modules
109 115
110 echo "[BEGIN]: Link bower packages"
111 rm -fr bower_components
112 mkdir bower_components
113 ln -s ${bowerComponents}/bower_components/* bower_components/
114 echo "[DONE]: Link bower packages"
116 rm -fr node_binaries
117 mkdir node_binaries
118 ln -s ${nodeDependencies}/bin/* node_binaries/
119 echo "[DONE ]: Link node packages and binaries"
115 120 '';
116 121
117 122 releaseName = "RhodeCodeEnterpriseCE-${version}";
@@ -129,8 +134,7 let
129 134 passthru = {
130 135 inherit
131 136 rhodecode-testdata
132 bowerComponents
133 linkNodeAndBowerPackages
137 linkNodePackages
134 138 myPythonPackagesUnfix
135 139 pythonLocalOverrides
136 140 pythonCommunityOverrides;
@@ -141,8 +145,6 let
141 145 buildInputs =
142 146 attrs.buildInputs or [] ++ [
143 147 rhodecode-testdata
144 pkgs.nodePackages.bower
145 pkgs.nodePackages.grunt-cli
146 148 ];
147 149
148 150 #NOTE: option to inject additional propagatedBuildInputs
@@ -175,39 +177,66 let
175 177 '';
176 178
177 179 preBuild = ''
178
179 echo "Building frontend assets"
180 ${linkNodeAndBowerPackages}
181 grunt
180 echo "[BEGIN]: Building frontend assets"
181 ${linkNodePackages}
182 make web-build
182 183 rm -fr node_modules
184 rm -fr node_binaries
185 echo "[DONE ]: Building frontend assets"
183 186 '';
184 187
185 188 postInstall = ''
189 # check required files
190 STATIC_CHECK="/robots.txt /502.html
191 /js/scripts.js /js/rhodecode-components.js
192 /css/style.css /css/style-polymer.css"
193
194 for file in $STATIC_CHECK;
195 do
196 if [ ! -f rhodecode/public/$file ]; then
197 echo "Missing $file"
198 exit 1
199 fi
200 done
201
186 202 echo "Writing enterprise-ce meta information for rccontrol to nix-support/rccontrol"
187 203 mkdir -p $out/nix-support/rccontrol
188 204 cp -v rhodecode/VERSION $out/nix-support/rccontrol/version
189 echo "[DONE]: enterprise-ce meta information for rccontrol written"
205 echo "[DONE ]: enterprise-ce meta information for rccontrol written"
190 206
191 207 mkdir -p $out/etc
192 208 cp configs/production.ini $out/etc
193 echo "[DONE]: saved enterprise-ce production.ini into $out/etc"
209 echo "[DONE ]: saved enterprise-ce production.ini into $out/etc"
210
211 cp -Rf rhodecode/config/rcextensions $out/etc/rcextensions.tmpl
212 echo "[DONE ]: saved enterprise-ce rcextensions into $out/etc/rcextensions.tmpl"
194 213
195 214 # python based programs need to be wrapped
196 215 mkdir -p $out/bin
197 # rhodecode-tools
198 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
199 216
200 217 # required binaries from dependencies
201 #ln -s ${self.python}/bin/python $out/bin
202 ln -s ${self.pyramid}/bin/* $out/bin/
203 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
204 ln -s ${self.supervisor}/bin/supervisor* $out/bin/
218 ln -s ${self.supervisor}/bin/supervisorctl $out/bin/
219 ln -s ${self.supervisor}/bin/supervisord $out/bin/
205 220 ln -s ${self.pastescript}/bin/paster $out/bin/
206 221 ln -s ${self.channelstream}/bin/channelstream $out/bin/
207 222 ln -s ${self.celery}/bin/celery $out/bin/
208 echo "[DONE]: created symlinks into $out/bin"
223 ln -s ${self.gunicorn}/bin/gunicorn $out/bin/
224 ln -s ${self.pyramid}/bin/prequest $out/bin/
225 ln -s ${self.pyramid}/bin/pserve $out/bin/
209 226
210 for file in $out/bin/*;
227 echo "[DONE ]: created symlinks into $out/bin"
228 DEPS="$out/bin/supervisorctl \
229 $out/bin/supervisord \
230 $out/bin/paster \
231 $out/bin/channelstream \
232 $out/bin/celery \
233 $out/bin/gunicorn \
234 $out/bin/prequest \
235 $out/bin/pserve"
236
237 # wrap only dependency scripts, they require to have full PYTHONPATH set
238 # to be able to import all packages
239 for file in $DEPS;
211 240 do
212 241 wrapProgram $file \
213 242 --prefix PATH : $PATH \
@@ -215,16 +244,18 let
215 244 --set PYTHONHASHSEED random
216 245 done
217 246
218 echo "[DONE]: enterprise-ce binary wrapping"
247 echo "[DONE ]: enterprise-ce binary wrapping"
248
249 # rhodecode-tools don't need wrapping
250 ln -s ${self.rhodecode-tools}/bin/rhodecode-* $out/bin/
219 251
220 if [ ! -f rhodecode/public/js/scripts.js ]; then
221 echo "Missing scripts.js"
222 exit 1
223 fi
224 if [ ! -f rhodecode/public/css/style.css ]; then
225 echo "Missing style.css"
226 exit 1
227 fi
252 # expose sources of CE
253 ln -s $out $out/etc/rhodecode_enterprise_ce_source
254
255 # expose static files folder
256 cp -Rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/public/ $out/etc/static
257 chmod 755 -R $out/etc/static
258
228 259 '';
229 260 });
230 261
@@ -237,8 +268,13 let
237 268 getAttr pythonPackages pkgs;
238 269
239 270 pythonGeneratedPackages = import ./pkgs/python-packages.nix {
240 inherit pkgs;
241 inherit (pkgs) fetchurl fetchgit fetchhg;
271 inherit
272 pkgs;
273 inherit
274 (pkgs)
275 fetchurl
276 fetchgit
277 fetchhg;
242 278 };
243 279
244 280 pythonCommunityOverrides = import ./pkgs/python-packages-overrides.nix {
@@ -162,7 +162,8 To add custom hooks to your instance, us
162 162
163 163 1. Open :menuselection:`Admin --> Settings --> Hooks`
164 164 2. Add your custom hook details, you can use a file path to specify custom
165 hook scripts, for example: ``python:/path/to/custom_hook.py``
165 hook scripts, for example:
166 ``pretxnchangegroup.example`` with value ``python:/path/to/custom_hook.py:my_func_name``
166 167 3. Select :guilabel:`Save`
167 168
168 169 Also, see the |RC| Extensions section of the :ref:`rc-tools` guide. |RC|
@@ -18,8 +18,8 Prerequisites
18 18 .. tip::
19 19
20 20 We recommend using Wandisco repositories which provide latest SVN versions
21 for most platforms. Below is example how to add the wandisco repositories
22 for Ubuntu.
21 for most platforms.
22 Here is an example how to add the Wandisco repositories for Ubuntu.
23 23
24 24 .. code-block:: bash
25 25
@@ -27,15 +27,28 Prerequisites
27 27 $ sudo wget -q http://opensource.wandisco.com/wandisco-debian.gpg -O- | sudo apt-key add -
28 28 $ sudo apt-get update
29 29
30 Here is an example how to add the Wandisco repositories for Centos/Redhat. Using
31 a yum config
30 32
31 Using Ubuntu 14.04/16.04 Distribution as an example execute the following to
32 install required components:
33 .. code-block:: bash
34
35 [wandisco-Git]
36 name=CentOS-6 - Wandisco Git
37 baseurl=http://opensource.wandisco.com/centos/6/git/$basearch/
38 enabled=1
39 gpgcheck=1
40 gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
41
42
43
44 Example installation of required components for Ubuntu platform:
33 45
34 46 .. code-block:: bash
35 47
36 $ sudo apt-get install apache2 libapache2-mod-svn
48 $ sudo apt-get install apache2
49 $ sudo apt-get install libapache2-mod-svn
37 50
38 Once installed you need to enable ``dav_svn``:
51 Once installed you need to enable ``dav_svn`` on Ubuntu:
39 52
40 53 .. code-block:: bash
41 54
@@ -44,6 +57,26 Once installed you need to enable ``dav_
44 57 $ sudo a2enmod authn_anon
45 58
46 59
60 Example installation of required components for RedHat/CentOS platform:
61
62 .. code-block:: bash
63
64 $ sudo yum install httpd
65 $ sudo yum install subversion mod_dav_svn
66
67
68 Once installed you need to enable ``dav_svn`` on RedHat/CentOS:
69
70 .. code-block:: bash
71
72 sudo vi /etc/httpd/conf.modules.d/10-subversion.conf
73 ## The file should read:
74
75 LoadModule dav_svn_module modules/mod_dav_svn.so
76 LoadModule headers_module modules/mod_headers.so
77 LoadModule authn_anon_module modules/mod_authn_anon.so
78
79
47 80 Configuring Apache Setup
48 81 ========================
49 82
@@ -13,48 +13,4 dependencies for Python and JavaScript w
13 13 this section to generate the needed Nix derivations.
14 14
15 15
16 Python dependencies
17 ===================
18
19 We use the tool `pip2nix` to generate the Nix derivations for our Python
20 dependencies.
21
22 Generating the dependencies should be done with the following command:
23
24 .. code:: shell
25
26 pip2nix generate --license
27
28
29 .. note::
30
31 License extraction support is still experimental, use the version from the
32 following pull request: https://github.com/ktosiek/pip2nix/pull/30
33
34
35
36 Node dependencies
37 =================
38
39 After adding new dependencies via ``npm install --save``, use `node2nix` to
40 update the corresponding Nix derivations:
41
42 .. code:: shell
43
44 cd pkgs
45 node2nix --input ../package.json \
46 -o node-packages.nix \
47 -e node-env.nix \
48 -c node-default.nix \
49 -d --flatten
50
51
52 Bower dependencies
53 ==================
54
55 Frontend dependencies are managed based on `bower`, with `bower2nix` a tool
56 exists which can generate the needed Nix derivations:
57
58 .. code:: shell
59
60 bower2nix bower.json pkgs/bower-packages.nix
16 Please check pkgs/README.rst file for mor information on how to build the packages.
@@ -14,12 +14,23 so to clarify what is meant each time, r
14 14 between software components and can be used to trigger plugins, or their
15 15 extensions.
16 16
17 .. toctree::
17
18 Hooks
19 -----
20
21 Within |RCM| there are two types of supported hooks.
18 22
19 rcx
20 install-ext
21 config-ext
22 extensions
23 hooks
24 full-blown-example
25 int-slack
23 * **Internal built-in hooks**: The internal |hg|, |git| or |svn| hooks are
24 triggered by different VCS operations, like push, pull,
25 or clone and are non-configurable, but you can add your own VCS hooks,
26 see :ref:`custom-hooks`.
27 * **Custom rcextensions hooks**: User defined hooks centre around the lifecycle of
28 certain actions such are |repo| creation, user creation etc. The actions
29 these hooks trigger can be rejected based on the API permissions of the
30 user calling them.
31
32 On instructions how to use the custom `rcextensions`
33 see :ref:`integrations-rcextensions` section.
34
35
36
@@ -19,9 +19,7 Once configured you can check the settin
19 19 ## Additionally these settings will be used by the RhodeCode mailing system ##
20 20 ################################################################################
21 21 #email_to = admin@localhost
22 #error_email_from = paste_error@localhost
23 22 #app_email_from = rhodecode-noreply@localhost
24 #error_message =
25 23 #email_prefix = [RhodeCode]
26 24
27 25 #smtp_server = mail.server.com
@@ -30,5 +28,3 Once configured you can check the settin
30 28 #smtp_port =
31 29 #smtp_use_tls = false
32 30 #smtp_use_ssl = true
33 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
34 #smtp_auth =
@@ -3,7 +3,7
3 3 Integrations
4 4 ------------
5 5
6 Rhodecode supports integrations with external services for various events,
6 |RCE| supports integrations with external services for various events,
7 7 such as commit pushes and pull requests. Multiple integrations of the same type
8 8 can be added at the same time; this is useful for posting different events to
9 9 different Slack channels, for example.
@@ -11,18 +11,20 different Slack channels, for example.
11 11 Supported integrations
12 12 ^^^^^^^^^^^^^^^^^^^^^^
13 13
14 ============================ ============ =====================================
15 Type/Name |RC| Edition Description
16 ============================ ============ =====================================
17 :ref:`integrations-slack` |RCCEshort| https://slack.com/
18 :ref:`integrations-hipchat` |RCCEshort| https://www.hipchat.com/
19 :ref:`integrations-webhook` |RCCEshort| POST events as `json` to a custom url
20 :ref:`integrations-ci` |RCCEshort| Trigger Builds for Common CI Systems
21 :ref:`integrations-email` |RCCEshort| Send repo push commits by email
22 :ref:`integrations-jenkins` |RCEEshort| Trigger Builds for Jenkins CI System
23 :ref:`integrations-redmine` |RCEEshort| Close/Resolve/Reference Redmine issues
24 :ref:`integrations-jira` |RCEEshort| Close/Resolve/Reference JIRA issues
25 ============================ ============ =====================================
14 ================================ ============ ========================================
15 Type/Name |RC| Edition Description
16 ================================ ============ ========================================
17 :ref:`integrations-webhook` |RCCEshort| Trigger events as `json` to a custom url
18 :ref:`integrations-slack` |RCCEshort| Integrate with https://slack.com/
19 :ref:`integrations-hipchat` |RCCEshort| Integrate with https://www.hipchat.com/
20 :ref:`integrations-email` |RCCEshort| Send repo push commits by email
21 :ref:`integrations-ci` |RCCEshort| Trigger Builds for Common CI Systems
22 :ref:`integrations-rcextensions` |RCCEshort| Advanced low-level integration framework
23
24 :ref:`integrations-jenkins` |RCEEshort| Trigger Builds for Jenkins CI System
25 :ref:`integrations-redmine` |RCEEshort| Close/Resolve/Reference Redmine issues
26 :ref:`integrations-jira` |RCEEshort| Close/Resolve/Reference JIRA issues
27 ================================ ============ ========================================
26 28
27 29 .. _creating-integrations:
28 30
@@ -55,3 +57,4 See pages specific to each type of integ
55 57 email
56 58 ci
57 59 jenkins
60 integrations-rcextensions
@@ -9,6 +9,7 Release Notes
9 9 .. toctree::
10 10 :maxdepth: 1
11 11
12 release-notes-4.14.0.rst
12 13 release-notes-4.13.3.rst
13 14 release-notes-4.13.2.rst
14 15 release-notes-4.13.1.rst
@@ -1,13 +1,13
1 1 .menuselection, .guilabel {
2 2 font-size: .90em;
3 font-family: "proximanovaregular", "Proxima Nova Regular", "Proxima Nova", sans-serif;
3 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
4