Skip to content

Commit

Permalink
init: initial content
Browse files Browse the repository at this point in the history
- build setup
- documentation
- formatting/compliance checks

Issue-ref: resolves #1
  • Loading branch information
ltekieli committed Nov 21, 2024
1 parent 2008240 commit 37aa63b
Show file tree
Hide file tree
Showing 43 changed files with 2,448 additions and 2 deletions.
1 change: 1 addition & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test --test_output=errors
1 change: 1 addition & 0 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7.4.0
6 changes: 6 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Comment out as not in score yet
# * @eclipse-score/automotive-score-committers
# .github @eclipse-score/automotive-score-committers

# docs @eclipse-score/automotive-score-committers

13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: Bugfix
about: 'Issue to track a bugfix'
title: 'Bugfix: Your bugfix title'
labels: 'codeowner_review'
assignees: ''

---

> [!IMPORTANT]
> Make sure to link this issue with the PR for your bugfix.

11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/improvement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
name: Improvement
about: 'Issue to track a improvement'
title: 'Improvement: Your improvement title'
labels: 'codeowner_review'
assignees: ''

---

> [!IMPORTANT]
> Make sure to link this issue with the PR for your improvement.
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/bug_fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Bugfix

> [!IMPORTANT]
> Use this template only for bugfixes that do not influence topics covered by contribution requests or improvements.
> [!CAUTION]
> Make sure to submit your pull-request as **Draft** until you are ready to have it reviewed by the Committers.
## Description

[A short description of the bug being fixed by the contribution.]

## Related ticket

> [!IMPORTANT]
> Please replace `[ISSUE-NUMBER]` with the issue-number that tracks this bug fix. If there is no such
> ticket yet, create one via [this issue template](../ISSUE_TEMPLATE/new?template=bug_fix.md).
closes [ISSUE-NUMBER] (bugfix ticket)
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/improvement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Improvement

> [!IMPORTANT]
> Use this template only for improvement that do not influence topics covered by contribution requests or bug fixes.
> [!CAUTION]
> Make sure to submit your pull-request as **Draft** until you are ready to have it reviewed by the Committers.
## Description

[A short description of the improvement being addressed by the contribution.]

## Related ticket

> [!IMPORTANT]
> Please replace `[ISSUE-NUMBER]` with the issue-number that tracks this bug fix. If there is no such
> ticket yet, create one via [this issue template](../ISSUE_TEMPLATE/new?template=improvement.md).
closes [ISSUE-NUMBER] (improvement ticket)
21 changes: 21 additions & 0 deletions .github/actions/gitlint/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: "Gitlint Action"
description: "An action to install and run Gitlint on PR commits"
inputs:
pr-number:
description: "Pull Request number used to fetch commits"
required: true
base-branch:
description: "Base branch to compare commits against (default: origin/main)"
default: "origin/main"
required: false
runs:
using: "docker"
image: "jorisroovers/gitlint:0.19.1"
entrypoint: /bin/sh
args:
- -c
- |
git config --global --add safe.directory /github/workspace && \
git fetch origin +refs/heads/main:refs/remotes/origin/main && \
git fetch origin +refs/pull/${{ inputs.pr-number }}/head && \
gitlint --commits origin/main..HEAD
17 changes: 17 additions & 0 deletions .github/workflows/copyright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Copyright checks
on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
jobs:
copyright-check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Setup Bazel
uses: bazel-contrib/[email protected]
- name: Run copyright checks
run: |
bazel run //:copyright.check
60 changes: 60 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Documentation build
on:
pull_request:
types: [opened, reopened, synchronize]
push:
branches:
- main
merge_group:
types: [checks_requested]
jobs:
docs-build:
runs-on: ubuntu-latest
premissions:
pull-requests: write
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Setup Bazel
uses: bazel-contrib/[email protected]
- name: Build documentation
run: |
bazel build //docs:github-pages && cp bazel-bin/docs/github-pages.tar .
- name: Upload artifact for deployment
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/[email protected]
with:
name: github-pages
path: ${{ github.workspace }}/github-pages.tar
retention-days: 1
if-no-files-found: error
- name: Upload artifact for pull request link
if: github.event_name == 'pull_request'
id: upload-artifact-pr
uses: actions/[email protected]
with:
name: github-pages-${{ github.sha }}
path: ${{ github.workspace }}/github-pages.tar
retention-days: 1
if-no-files-found: error
- name: Comment artifact URL
if: github.event_name == 'pull_request'
run: |
gh pr comment ${{ github.event.pull_request.number }} \
--body "Documentation artifact: ${{ steps.upload-artifact-pr.outputs.artifact-url }}"
env:
GH_TOKEN: ${{ github.token }}
docs-deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
permissions:
pages: write
id-token: write
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: docs-build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/[email protected]
17 changes: 17 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Formatting checks
on:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
jobs:
formatting-check:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Setup Bazel
uses: bazel-contrib/[email protected]
- name: Run formatting checks
run: |
bazel test //:format.check
19 changes: 19 additions & 0 deletions .github/workflows/gitlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Gitlint check
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
lint-commits:
name: check-commit-messages
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run Gitlint Action
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/actions/gitlint
with:
pr-number: ${{ github.event.number }}
base-branch: ${{ github.event.pull_request.base.ref }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Bazel
bazel-*
MODULE.bazel.lock

# Ruff
.ruff_cache
42 changes: 42 additions & 0 deletions .gitlint
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Available rules:
#
# T1: title-max-length
# T2: title-trailing-whitespace
# T3: title-trailing-punctuation (disabled)
# T4: title-hard-tab
# T5: title-must-not-contain-word (disabled)
# T6: title-leading-whitespace
# T7: title-match-regex (disabled)
# B1: body-max-line-length
# B2: body-trailing-whitespace
# B3: body-hard-tab
# B4: body-first-line-empty
# B5: body-min-length (disabled)
# B6: body-is-missing (disabled)
# B7: body-changed-file-mention (disabled)
#
# See http://jorisroovers.github.io/gitlint/rules/ for a full description.

# Ignore some default rules and enable regex style searching
[general]
ignore=T3,T5,B1,B5,B7
regex-style-search=true

# Maximum length of the title
[title-max-length]
line-length=72

[title-match-regex]
regex=^[a-z_-]+: .+$

# First line of the commit message body must be empty. (second line of the commit message)
[body-first-line-empty]

# Body must contain a reference to an issue
# 'see' will act as a form of reference from commits to issues without closing them.
[body-match-regex]
regex=Issue-ref: (see|close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) #(\d+)

#Ignores the title if it starts with Revert or Merge
[ignore-by-title]
regex=(^Revert |^Merge )
48 changes: 48 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

test_suite(
name = "format.check",
tests = ["//tools/format:format.check"],
)

alias(
name = "format.fix",
actual = "//tools/format:format.fix",
)

alias(
name = "copyright.check",
actual = "//tools/cr_checker:copyright.check",
)

alias(
name = "copyright.fix",
actual = "//tools/cr_checker:copyright.fix",
)

filegroup(
name = "repo_directories",
srcs = [
"docs",
"tools",
],
visibility = [
"//tools/cr_checker:__subpackages__",
],
)

exports_files([
"MODULE.bazel",
"BUILD",
])
35 changes: 35 additions & 0 deletions CONTRIBUTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Eclipse Safe Open Vehicle Core (SCORE)
The [Eclipse Safe Open Vehicle Core](https://projects.eclipse.org/projects/automotive.score) project aims to develop an open-source core stack for Software Defined Vehicles (SDVs), specifically targeting embedded high-performance Electronic Control Units (ECUs).
Please check the [documentation](https://eclipse-score.github.io) for more information.
The source code is hosted at [GitHub](https://github.com/eclipse-score).

The communication mainly takes place via the [`score-dev` mailing list](https://accounts.eclipse.org/mailing-list/score-dev) and GitHub issues & pull requests (PR). And we have a chatroom for community discussions here [Eclipse SCORE chatroom](https://chat.eclipse.org/#/room/#automotive.score:matrix.eclipse.org).

Please note that for the project the [Eclipse Foundation’s Terms of Use](https://www.eclipse.org/legal/terms-of-use/) apply.
In addition, you need to sign the [ECA](https://www.eclipse.org/legal/ECA.php) and the [DCO](https://www.eclipse.org/legal/dco/) to contribute to the project.

## Contributing
### Getting the source code & building the project
Please refer to the [README.md](README.md) for further information.

### Getting involved

#### Setup Phase
This phase is part of the eclipse Incubation Phase and shall establish all the processes needed for a safe development of functions. Only after this phase it will be possible to contribute code to the project. As the development in this project is driven by requirements, the processes and needed infrastructure incl. tooling will be established based on non-functional Stakeholder_Requirements<!-- TODO: fill link to correct page with requirements -->. During setup phase the contributions are Bug Fixes and Improvements (both on processes and infrastructure).

#### Bug Fixes and Improvements
Improvements are adding/changing processes and infrastructure, bug fixes can be also on development work products like code.
In case you want to fix a bug or contribute an improvement, please perform the following steps:
1) Create a PR by using the corresponding template ([Bugfix PR template](.github/PULL_REQUEST_TEMPLATE/bug_fix.md) or [Improvement PR template](.github/PULL_REQUEST_TEMPLATE/improvement.md)). Please mark your PR as draft until it's ready for review by the Committers (see the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#contributing-committers) for more information on the role definitions). Improvements are requested by the definition or modification of [Stakeholder Requirements](docs/stakeholder_requirements) or [Tool Requirements](docs/tool_requirements) and may be implemented after acceptance/merge of the request by a second Improvement PR. The needed reviews are automatically triggered via the [CODEOWNERS](.github/CODEOWNERS) file in the repository.
2) Initiate content review by opening a corresponding issue for the PR when it is ready for review. Review of the PR and final merge into the project repository is in responsibility of the Committers. Use the [Bugfix Issue template](.github/ISSUE_TEMPLATE/bug_fix.md) or [Improvement Issue template](.github/ISSUE_TEMPLATE/improvement.md) for this.

Please check here for our Git Commit Rules [Configuration_Tool_Guidelines](docs/process_description/guidelines).

Please use the [Stakeholder and Tool Requirements Template](docs/process_description/templates) when defining these requirements.

![Contribution guide workflow](./docs/_assets/contribution_guide.svg "Contribution guide workflow")

#### Additional Information
Please note, that all Git commit messages must adhere the rules described in the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#resources-commit).

Please refer for process descriptions to the folder: [process_description](docs/process_description).
13 changes: 13 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Copyright 2024 Contributors to the Eclipse Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Loading

0 comments on commit 37aa63b

Please sign in to comment.