Skip to content

Commit aa7a72a

Browse files
Release OpenProject 14.0.0
2 parents 3c323a3 + 7460949 commit aa7a72a

File tree

16,179 files changed

+1578759
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

16,179 files changed

+1578759
-0
lines changed

.buildpacks

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
https://github.com/heroku/heroku-buildpack-nodejs.git#v197
2+
https://github.com/pkgr/heroku-buildpack-ruby.git#v254-2

.dockerignore

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
.github/
2+
.git
3+
.dockerignore
4+
.gitignore
5+
.bundle
6+
.env*
7+
.buildpacks
8+
.*.yml
9+
*.swp
10+
.*ignore
11+
*.md
12+
*.log
13+
docker/prod/Dockerfile
14+
docker/ci/Dockerfile
15+
Guardfile
16+
docker-compose.*
17+
browserslist
18+
19+
/docs
20+
!/docs/api/apiv3/openapi-spec.yml
21+
!/docs/api/apiv3/paths
22+
!/docs/api/apiv3/tags
23+
!/docs/api/apiv3/components
24+
25+
extra
26+
features
27+
help
28+
log/*.log
29+
spec
30+
/tmp
31+
frontend/.angular/cache
32+
frontend/node_modules
33+
node_modules
34+
# travis
35+
vendor/bundle

.editorconfig

+543
Large diffs are not rendered by default.

.env.example

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#-- copyright
2+
# OpenProject is an open source project management software.
3+
# Copyright (C) 2012-2020 the OpenProject GmbH
4+
#
5+
# This program is free software; you can redistribute it and/or
6+
# modify it under the terms of the GNU General Public License version 3.
7+
#
8+
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
9+
# Copyright (C) 2006-2013 Jean-Philippe Lang
10+
# Copyright (C) 2010-2013 the ChiliProject Team
11+
#
12+
# This program is free software; you can redistribute it and/or
13+
# modify it under the terms of the GNU General Public License
14+
# as published by the Free Software Foundation; either version 2
15+
# of the License, or (at your option) any later version.
16+
#
17+
# This program is distributed in the hope that it will be useful,
18+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
19+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+
# GNU General Public License for more details.
21+
#
22+
# You should have received a copy of the GNU General Public License
23+
# along with this program; if not, write to the Free Software
24+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25+
#
26+
# See COPYRIGHT and LICENSE files for more details.
27+
#++
28+
29+
# If you place a .env file into the root directory of OpenProject
30+
# you can override some default settings that overmind will use
31+
# to start OpenProject
32+
33+
# This is used to prevent people from using the new docker-compose file for automated installs
34+
LOCAL_DEV_CHECK=1
35+
36+
# Set this to your ckeditor build output directory (which includes ckeditor.js) if you
37+
# want to develop ckeditor locally.
38+
CKEDITOR_BUILD_DIR=./frontend/src/vendor/ckeditor/
39+
40+
HOST=0.0.0.0
41+
PORT=4200
42+
43+
# Use this variables to configure hostnames for frontend and backend, e.g. to enable HTTPS in docker development setup
44+
OPENPROJECT_DEV_HOST=localhost
45+
OPENPROJECT_DEV_URL=http://${OPENPROJECT_DEV_HOST}:${PORT}
46+
47+
# Select edition from: ['standard','bim']
48+
OPENPROJECT_EDITION=standard
49+
50+
DEV_UID=1000
51+
DEV_GID=1001
52+
53+
DB_HOST=db
54+
DB_PORT=5432
55+
DB_USERNAME=openproject
56+
DB_PASSWORD=openproject
57+
DB_DATABASE=openproject
58+
59+
CI_JOBS=24
60+
61+
SMTP_ADDRESS=
62+
SMTP_PORT=
63+
SMTP_DOMAIN=
64+
SMTP_USER_NAME=
65+
SMTP_PASSWORD=

.env.test.local.example

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#-- copyright
2+
# OpenProject is an open source project management software.
3+
# Copyright (C) 2012-2020 the OpenProject GmbH
4+
#
5+
# This program is free software; you can redistribute it and/or
6+
# modify it under the terms of the GNU General Public License version 3.
7+
#
8+
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
9+
# Copyright (C) 2006-2013 Jean-Philippe Lang
10+
# Copyright (C) 2010-2013 the ChiliProject Team
11+
#
12+
# This program is free software; you can redistribute it and/or
13+
# modify it under the terms of the GNU General Public License
14+
# as published by the Free Software Foundation; either version 2
15+
# of the License, or (at your option) any later version.
16+
#
17+
# This program is distributed in the hope that it will be useful,
18+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
19+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+
# GNU General Public License for more details.
21+
#
22+
# You should have received a copy of the GNU General Public License
23+
# along with this program; if not, write to the Free Software
24+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25+
#
26+
# See COPYRIGHT and LICENSE files for more details.
27+
#++
28+
29+
# Nextcloud VCR credentials
30+
31+
NEXTCLOUD_LOCAL_OAUTH_CLIENT_ID=
32+
NEXTCLOUD_LOCAL_OAUTH_CLIENT_SECRET=
33+
34+
NEXTCLOUD_LOCAL_OPENPROJECT_UID=
35+
NEXTCLOUD_LOCAL_OPENPROJECT_SECRET=
36+
NEXTCLOUD_LOCAL_OPENPROJECT_REDIRECT_URI=https://nextcloud.local/index.php/apps/integration_openproject/oauth-redirect
37+
38+
NEXTCLOUD_LOCAL_OAUTH_CLIENT_ACCESS_TOKEN=
39+
NEXTCLOUD_LOCAL_OAUTH_CLIENT_REFRESH_TOKEN=
40+
41+
# Sharepoint/OneDrive VCR credentials
42+
43+
ONE_DRIVE_TEST_TENANT_ID=
44+
ONE_DRIVE_TEST_DRIVE_ID=
45+
46+
ONE_DRIVE_TEST_OAUTH_CLIENT_ID=
47+
ONE_DRIVE_TEST_OAUTH_CLIENT_SECRET=
48+
49+
ONE_DRIVE_TEST_OAUTH_CLIENT_ACCESS_TOKEN=
50+
ONE_DRIVE_TEST_OAUTH_CLIENT_REFRESH_TOKEN=

.erb-lint.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
EnableDefaultLinters: true
3+
inherit_gem:
4+
erblint-github:
5+
- config/accessibility.yml
6+
exclude:
7+
- '**/frontend/**/*'
8+
- '**/node_modules/**/*'
9+
- '**/vendor/**/*'
10+
linters:
11+
ErbSafety:
12+
enabled: true
13+
Rubocop:
14+
enabled: true
15+
rubocop_config:
16+
inherit_from:
17+
- .rubocop.yml
18+
Layout/InitialIndentation:
19+
Enabled: false
20+
Layout/LeadingEmptyLines:
21+
Enabled: false
22+
Layout/LineLength:
23+
Enabled: false
24+
Layout/TrailingEmptyLines:
25+
Enabled: false
26+
Layout/TrailingWhitespace:
27+
Enabled: false
28+
Naming/FileName:
29+
Enabled: false
30+
Style/FrozenStringLiteralComment:
31+
Enabled: false
32+
Lint/UselessAssignment:
33+
Enabled: false
34+
Rails/OutputSafety:
35+
Enabled: false

.erb-linters/erblint-github.rb

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
require "erblint-github/linters"

.git-blame-ignore-revs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# .git-blame-ignore-revs
2+
# lint with rubocop --autocorrect (safe cops only)
3+
48a4f1b6adb1e847a90a61f2ab277f28bcd77608
4+
# Update copyright information for 2023
5+
21a696ef9b170e14ad2daf53364a4c2113822c2f
6+
# Update copyright information for 2024
7+
c795874f7f281297bbd3bad2fdb58b24cb4ce624
8+
# switch to double quotes
9+
f3c99ee5dded81ad55f2b6f3706216d5fa765677
10+
5c72ea0046a6b5230bf456f55a296ed6fd579535
11+
9e4934cd0a468f46d8f0fc0f11ebc2d4216f789c
12+
6678cab48d443b5782fa93b171d62093819ee4fc

.github/codeql/config.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
paths-ignore:
2+
- frontend/src/vendor

.github/dependabot.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "/frontend"
5+
schedule:
6+
interval: "daily"
7+
target-branch: "dev"
8+
open-pull-requests-limit: 3
9+
versioning-strategy: lockfile-only
10+
groups:
11+
angular:
12+
patterns:
13+
- '@angular*'
14+
fullcalendar:
15+
patterns:
16+
- '@fullcalendar*'
17+
- package-ecosystem: "bundler"
18+
directory: "/"
19+
schedule:
20+
interval: "daily"
21+
target-branch: "dev"
22+
open-pull-requests-limit: 3
23+
versioning-strategy: lockfile-only
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: brakeman
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- dev
7+
- release/*
8+
paths:
9+
- '**.rb'
10+
schedule:
11+
- cron: '10 6 * * 1'
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
brakeman-scan:
18+
permissions:
19+
contents: read # for actions/checkout to fetch code
20+
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
21+
if: github.repository == 'opf/openproject'
22+
name: Brakeman Scan
23+
runs-on: ubuntu-latest
24+
env:
25+
RUBY_GC_HEAP_INIT_SLOTS: 100000
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v3
29+
30+
- name: Setup Ruby
31+
uses: ruby/setup-ruby@v1
32+
33+
- name: Setup Brakeman
34+
run: |
35+
gem install brakeman
36+
37+
- name: Scan
38+
run: |
39+
brakeman \
40+
--ignore-config config/brakeman.ignore \
41+
--no-exit-on-warn \
42+
--no-exit-on-error \
43+
--format sarif \
44+
--output output.sarif.json
45+
46+
- name: Upload SARIF
47+
uses: github/codeql-action/upload-sarif@v2
48+
with:
49+
sarif_file: output.sarif.json
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: codeql
2+
3+
on:
4+
push:
5+
branches: [ "dev", "release/*", "stable/*" ]
6+
pull_request:
7+
branches: [ "dev", "release/*", "stable/*" ]
8+
schedule:
9+
- cron: '32 1 * * 2'
10+
11+
jobs:
12+
analyze:
13+
name: Analyze
14+
runs-on: 'ubuntu-latest'
15+
timeout-minutes: 120
16+
permissions:
17+
# required for all workflows
18+
security-events: write
19+
20+
# only required for workflows in private repositories
21+
actions: read
22+
contents: read
23+
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
language: [ 'javascript-typescript', 'ruby' ]
28+
29+
steps:
30+
- name: Checkout repository
31+
uses: actions/checkout@v4
32+
33+
- name: Initialize CodeQL
34+
uses: github/codeql-action/init@v3
35+
with:
36+
config-file: ./.github/codeql/config.yml
37+
languages: ${{ matrix.language }}
38+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
39+
queries: security-extended,security-and-quality
40+
41+
- name: Perform CodeQL Analysis
42+
uses: github/codeql-action/analyze@v3
43+
with:
44+
category: "/language:${{matrix.language}}"
+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: continuous-delivery
2+
on:
3+
push:
4+
branches:
5+
- dev
6+
- release/*
7+
- stable/*
8+
permissions:
9+
contents: read
10+
11+
jobs:
12+
trigger_downstream_workflow:
13+
permissions:
14+
contents: none
15+
if: github.repository == 'opf/openproject'
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Trigger Flavours workflow
19+
env:
20+
TOKEN: ${{ secrets.OPENPROJECT_CI_TOKEN }}
21+
REPOSITORY: opf/openproject-flavours
22+
WORKFLOW_ID: ci.yml
23+
run: |
24+
curl -i --fail-with-body -H"authorization: Bearer $TOKEN" \
25+
-XPOST -H"Accept: application/vnd.github.v3+json" \
26+
https://api.github.com/repos/$REPOSITORY/actions/workflows/$WORKFLOW_ID/dispatches \
27+
-d '{"ref": "dev", "inputs": { "ref" : "${{ github.ref_name }}" }}'

0 commit comments

Comments
 (0)