Skip to content

Commit

Permalink
Release OpenProject 15.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
oliverguenther committed Nov 13, 2024
2 parents 9638c03 + 487486b commit 9494b64
Show file tree
Hide file tree
Showing 17,266 changed files with 1,711,874 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .buildpacks
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
https://github.com/heroku/heroku-buildpack-nodejs.git#v197
https://github.com/pkgr/heroku-buildpack-ruby.git#v254-2
45 changes: 45 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
.github/
.git
.dockerignore
.gitignore
.bundle
.env*
.buildpacks
.*.yml
*.swp
.*ignore
*.md
*.log
config/database.yml
docker/prod/Dockerfile
docker/ci/Dockerfile
Guardfile
docker-compose.*
browserslist

/docs
!/docs/api/apiv3/openapi-spec.yml
!/docs/api/apiv3/paths
!/docs/api/apiv3/tags
!/docs/api/apiv3/components

# Ignore spec/** folders
spec/**
# Allow factories in case we use lookbook
!spec/factories
!spec/factories/**
!spec/support
!spec/support/**

extra
features
help
log/*.log
/tmp
frontend/.angular/cache
frontend/node_modules
node_modules
# travis
vendor/bundle
/public/assets
/config/frontend_assets.manifest.json
543 changes: 543 additions & 0 deletions .editorconfig

Large diffs are not rendered by default.

69 changes: 69 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++

# If you place a .env file into the root directory of OpenProject
# you can override some default settings that overmind will use
# to start OpenProject

# This is used to prevent people from using the new docker-compose file for automated installs
LOCAL_DEV_CHECK=1

# Set this to your ckeditor build output directory (which includes ckeditor.js) if you
# want to develop ckeditor locally.
CKEDITOR_BUILD_DIR=./frontend/src/vendor/ckeditor/

# Local backend development host and port
HOST=localhost
PORT=3000
# Local frontend development host and port
FE_HOST=localhost
FE_PORT=4200

# Use this variables to configure hostnames for frontend and backend, e.g. to enable HTTPS in docker development setup
OPENPROJECT_DEV_HOST=localhost
OPENPROJECT_DEV_URL=http://${OPENPROJECT_DEV_HOST}:${FE_PORT}

# Select edition from: ['standard','bim']
OPENPROJECT_EDITION=standard

DEV_UID=1000
DEV_GID=1001

DB_HOST=db
DB_PORT=5432
DB_USERNAME=openproject
DB_PASSWORD=openproject
DB_DATABASE=openproject

CI_JOBS=24

SMTP_ADDRESS=
SMTP_PORT=
SMTP_DOMAIN=
SMTP_USER_NAME=
SMTP_PASSWORD=
50 changes: 50 additions & 0 deletions .env.test.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#-- copyright
# OpenProject is an open source project management software.
# Copyright (C) the OpenProject GmbH
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See COPYRIGHT and LICENSE files for more details.
#++

# Nextcloud VCR credentials

NEXTCLOUD_LOCAL_OAUTH_CLIENT_ID=
NEXTCLOUD_LOCAL_OAUTH_CLIENT_SECRET=

NEXTCLOUD_LOCAL_OPENPROJECT_UID=
NEXTCLOUD_LOCAL_OPENPROJECT_SECRET=
NEXTCLOUD_LOCAL_OPENPROJECT_REDIRECT_URI=https://nextcloud.local/index.php/apps/integration_openproject/oauth-redirect

NEXTCLOUD_LOCAL_OAUTH_CLIENT_ACCESS_TOKEN=
NEXTCLOUD_LOCAL_OAUTH_CLIENT_REFRESH_TOKEN=

# Sharepoint/OneDrive VCR credentials

ONE_DRIVE_TEST_TENANT_ID=
ONE_DRIVE_TEST_DRIVE_ID=

ONE_DRIVE_TEST_OAUTH_CLIENT_ID=
ONE_DRIVE_TEST_OAUTH_CLIENT_SECRET=

ONE_DRIVE_TEST_OAUTH_CLIENT_ACCESS_TOKEN=
ONE_DRIVE_TEST_OAUTH_CLIENT_REFRESH_TOKEN=
35 changes: 35 additions & 0 deletions .erb-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
EnableDefaultLinters: true
inherit_gem:
erblint-github:
- config/accessibility.yml
exclude:
- '**/frontend/**/*'
- '**/node_modules/**/*'
- '**/vendor/**/*'
linters:
ErbSafety:
enabled: true
Rubocop:
enabled: true
rubocop_config:
inherit_from:
- .rubocop.yml
Layout/InitialIndentation:
Enabled: false
Layout/LeadingEmptyLines:
Enabled: false
Layout/LineLength:
Enabled: false
Layout/TrailingEmptyLines:
Enabled: false
Layout/TrailingWhitespace:
Enabled: false
Naming/FileName:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
Lint/UselessAssignment:
Enabled: false
Rails/OutputSafety:
Enabled: false
1 change: 1 addition & 0 deletions .erb-linters/erblint-github.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require "erblint-github/linters"
12 changes: 12 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# .git-blame-ignore-revs
# rubocop autocorrections
48a4f1b6adb1e847a90a61f2ab277f28bcd77608
f3c99ee5dded81ad55f2b6f3706216d5fa765677
5c72ea0046a6b5230bf456f55a296ed6fd579535
9e4934cd0a468f46d8f0fc0f11ebc2d4216f789c
6678cab48d443b5782fa93b171d62093819ee4fc
fa5d03eae00bc8931f99598a74ffd76e0cbca3da
b10e6d718cc49e3574837d97fab268e3ecb3fcbd
# accidental merge
7787e457a37d8d1ef5b6d0c2e326bdc42338ac7b
3b2121f7333f0ce7f3515b29c760c0580c31a245
7 changes: 7 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
self-hosted-runner:
# Labels of self-hosted runner in array of strings.
labels:
- runner=4cpu-linux-x64
- runner=4cpu-linux-arm64
- ssh=false
- runs-on
2 changes: 2 additions & 0 deletions .github/codeql/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
paths-ignore:
- frontend/src/vendor
29 changes: 29 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/frontend"
schedule:
interval: "daily"
target-branch: "dev"
open-pull-requests-limit: 3
versioning-strategy: lockfile-only
groups:
angular:
patterns:
- '@angular*'
fullcalendar:
patterns:
- '@fullcalendar*'
- package-ecosystem: "bundler"
directory: "/"
schedule:
interval: "daily"
target-branch: "dev"
open-pull-requests-limit: 3
versioning-strategy: lockfile-only
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
target-branch: "dev"
open-pull-requests-limit: 3
23 changes: 23 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Ticket
<!-- Provide the link to respective work package -->

<!-- Contributors: Please check our PR guide: https://www.openproject.org/docs/development/code-review-guidelines/#preparing-your-pull-request before opening a PR. -->

<!-- Reviewers: Please check our Review guide: https://www.openproject.org/docs/development/code-review-guidelines/#reviewing -->

# What are you trying to accomplish?
<!-- Provide a description of the changes. -->

## Screenshots
<!-- Provide before/after screenshots, videos, or graphs for any visual changes; otherwise, remove this section -->

# What approach did you choose and why?
<!-- This section is a place for you to describe your thought process in making these changes.
List any tradeoffs you made to take on or pay down tech debt.
Describe any alternative approaches you considered and why you discarded them. -->

# Merge checklist

- [ ] Added/updated tests
- [ ] Added/updated documentation in Lookbook (patterns, previews, etc)
- [ ] Tested major browsers (Chrome, Firefox, Edge, ...)
49 changes: 49 additions & 0 deletions .github/workflows/brakeman-scan-core.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: brakeman

on:
pull_request:
branches:
- dev
- release/*
paths:
- '**.rb'
schedule:
- cron: '10 6 * * 1'

permissions:
contents: read

jobs:
brakeman-scan:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
if: github.repository == 'opf/openproject'
name: Brakeman Scan
runs-on: ubuntu-latest
env:
RUBY_GC_HEAP_INIT_SLOTS: 100000
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Ruby
uses: ruby/setup-ruby@v1

- name: Setup Brakeman
run: |
gem install brakeman
- name: Scan
run: |
brakeman \
--ignore-config config/brakeman.ignore \
--no-exit-on-warn \
--no-exit-on-error \
--format sarif \
--output output.sarif.json
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: output.sarif.json
44 changes: 44 additions & 0 deletions .github/workflows/codeql-scan-core.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: codeql

on:
push:
branches: [ "dev", "release/*", "stable/*" ]
pull_request:
branches: [ "dev", "release/*", "stable/*" ]
schedule:
- cron: '32 1 * * 2'

jobs:
analyze:
name: Analyze
runs-on: 'ubuntu-latest'
timeout-minutes: 120
permissions:
# required for all workflows
security-events: write

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
language: [ 'javascript-typescript', 'ruby' ]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
config-file: ./.github/codeql/config.yml
languages: ${{ matrix.language }}
# 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
queries: security-extended,security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
Loading

0 comments on commit 9494b64

Please sign in to comment.