Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/makefile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Makefile CI

on:
push:
branches: [ "add-license-1" ]
pull_request:
branches: [ "add-license-1" ]

jobs:
build:

runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4

# - name: configure
# run: ./configure

- name: Install dependencies
run: |
sudo apt install git
sudo apt install make
sudo apt install maven
sudo apt install groovy
sudo apt install python3-venv
sudo apt install python3-pip
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
sudo apt install mongodb-org

- name: Build
run: make build

- name: Run
run: make run

- name: Stop
run: make stop


81 changes: 81 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# SPDX-License-Identifier: Apache-2.0
#
# This workflow uses actions that are not certified by GitHub. They are provided
# by a third-party and are governed by separate terms of service, privacy
# policy, and support documentation.

name: Scorecard supply-chain security
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '36 16 * * 3'
push:
branches: [ "add-license-1" ]

# Declare default permissions as read only.
permissions:
contents: read

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
# `publish_results: true` only works when run from the default branch. conditional can be removed if disabled.
if: github.event.repository.default_branch == github.ref_name || github.event_name == 'pull_request'
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write
# Uncomment the permissions below if installing in a private repository.
# contents: read
# actions: read

steps:
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
with:
results_file: results.sarif
results_format: sarif
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
# - you want to enable the Branch-Protection check on a *public* repository, or
# - you are installing Scorecard on a *private* repository
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
# repo_token: ${{ secrets.SCORECARD_TOKEN }}

# Public repositories:
# - Publish results to OpenSSF REST API for easy access by consumers
# - Allows the repository to include the Scorecard badge.
# - See https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories:
# - `publish_results` will always be set to `false`, regardless
# of the value entered here.
publish_results: true

# (Optional) Uncomment file_mode if you have a .gitattributes with files marked export-ignore
# file_mode: git

# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: results.sarif
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# SPDX-License-Identifier: Apache-2.0

/apis-*/
4 changes: 4 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->

All participants agree to abide by the [Code of Conduct](https://lfprojects.org/policies/code-of-conduct/). Please contact [conduct@lfenergy.org](conduct@lfenergy.org) to report any
violations or concerns.
4 changes: 4 additions & 0 deletions COMMITERS.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Name, Email, Github ID
xxx xxxx, xxx@axmsoftware.com, axmsoftware
Will Sams, will@samswebs.com, willsams
David Bakare, bakaredavid007@gmail.com, 3akare
109 changes: 109 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->

# Contributing to APIS

Thank you for your interest in contributing to APIS! We welcome contributions from the community to help improve and grow this project.

## How to Contribute

### Reporting Issues

If you encounter any bugs, have feature requests, or want to suggest improvements, please open an issue in the relevant sub-repository under the [Hyphae organization](https://github.com/hyphae). When filing an issue, please provide:

- A clear title and description
- Steps to reproduce (if applicable)
- Expected and actual behavior
- Any relevant logs or screenshots

### Contributing Code

The main repository (APIS) does not contain code directly but serves as the build orchestrator for the following sub-repositories:

- [apis-bom](https://github.com/hyphae/apis-bom)
- [apis-ccc](https://github.com/hyphae/apis-ccc)
- [apis-common](https://github.com/hyphae/apis-common)
- [apis-emulator](https://github.com/hyphae/apis-emulator)
- [apis-log](https://github.com/hyphae/apis-log)
- [apis-main](https://github.com/hyphae/apis-main)
- [apis-main_controller](https://github.com/hyphae/apis-main_controller)
- [apis-service_center](https://github.com/hyphae/apis-service_center)
- [apis-tester](https://github.com/hyphae/apis-tester)
- [apis-web](https://github.com/hyphae/apis-web)

Each of these sub-repositories may have different contribution requirements based on the technology stack (Java, Groovy or Python). Please refer to their respective README.md files.

#### 1. Fork the Relevant Repository

Start by forking and cloning the repository you wish to contribute to.

```bash
# Fork the repository and clone it locally. Example for apis-common
git clone https://github.com/hyphae/apis-common.git
cd apis-common
```

#### 2. Create a Branch

Create a new branch for your work:

```bash
git checkout -b feature-branch
```

#### 3. Implement Changes

Make your changes following the coding standards of the project. Ensure your code is well-documented and includes tests where applicable.

#### 4. Run Tests

Before submitting your changes, make sure to test them:

```bash
mvn test # Java projects
```

#### 5. Commit Changes

Follow the project’s commit message conventions. A good commit message format is:

```text
[Type] Short description

Detailed explanation of the changes (if necessary)
```

Examples:

```text
[Fix] Corrected validation logic for job assignments
[Feature] Added new user role permissions
```

#### 6. Submit a Pull Request (PR)

Push your changes to your fork and create a pull request against the `main` branch of the repository. Provide a detailed explanation of the changes in the PR description.

### Code Review Process

All contributions go through a code review process:

1. A maintainer will review your PR and may request changes.
2. Once approved, your changes will be merged into the main branch.
3. If necessary, your changes will be included in the next release.

### Contribution Guidelines

- Follow the project’s coding style and conventions.
- Ensure changes do not introduce security vulnerabilities.
- Write clear and descriptive commit messages.
- Be respectful and constructive in discussions and code reviews.

### Community Contributions

In addition to code, you can contribute by:

- Writing and improving documentation.
- Helping answer questions in discussions and issues.
- Reporting bugs and suggesting features.

Thank you for contributing to APIS! 🚀
67 changes: 67 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->

# APIS Project Governance Policy

## Overview

This project aims to be governed in a transparent, accessible way for the benefit of the community. All participation in this project is open and not bound to corporate affiliation. Participants are bound to the project's [Code of Conduct](CODE_OF_CONDUCT.md).

## Project Roles

### Contributor

The contributor role is the starting role for anyone participating in the
project and wishing to contribute code.

#### Process for Becoming a Contributor

* Review the [Contribution Guidelines](CONTRIBUTING.md) to ensure your contribution is inline with the project's coding and styling guidelines.
* Submit your code as a PR with the appropriate DCO sign-off.
* Have your submission approved by the committer(s) and merged into the codebase.

### Committer

The committer role enables the contributor to commit code directly to the repository, but also comes with the responsibility of being a responsible leader in the community.

#### Process for Becoming a Committer

* Show your experience with the codebase through contributions and engagement on the community channels.
* Request to become a committer. To do this, create a new pull request that adds your name and details to the [Committers File](COMMITTERS.csv) and request existing committers to approve.
* After the majority of committers approve you, merge in the PR. Be sure to tag the person managing the GitHub permissions to update the committers team in GitHub.

#### Committer Responsibilities

* Monitor project communication channels.
* Triage GitHub issues and perform pull request reviews for other committers and the community.
* Ensure that ongoing PRs are moving forward at the right pace or closing them.
* Dedicate at least 25% of their time (~1.25 business days per week) to the project.

#### When Does a Committer Lose Committer Status?

If a committer is no longer interested or cannot perform the committer duties listed above, they should volunteer to be moved to emeritus status. In extreme cases, this can also occur by a vote of the committers per the voting process below.

### Technical Steering Committee (TSC)

The Technical Steering Committee (TSC) is responsible for the overall project health and direction, coordination of activities, and working with other projects and committees as needed for the continued growth of the project.

See [TSC Readme](tsc/README.md) for details.

## Release Process

Project releases will occur on a scheduled basis as agreed to by the committers. See [RELEASE.md](RELEASE.md) for details.

## Conflict Resolution and Voting

In general, we prefer that technical issues and committer membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, the committers can be called in to decide an issue. If the committers themselves cannot decide an issue, the issue will be resolved by voting. The voting process is a simple majority in which each committer receives one vote.

## Communication

This project, just like all of open source, is a global community. In addition to the [Code of Conduct](CODE_OF_CONDUCT.md), this project will:

* Keep all communication on open channels (mailing list, forums, chat).
* Be respectful of time and language differences between community members (such as scheduling meetings, email/issue responsiveness, etc.).
* Ensure tools are able to be used by community members regardless of their region.

If you have concerns about communication challenges for this project, please contact the committers.

Thank you for being part of the APIS community and helping maintain a well-governed, transparent project!
31 changes: 31 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,37 @@
# SPDX-License-Identifier: Apache-2.0

GIT_BASE_URL=https://github.com/hyphae

.PHONY: help
help:
@printf "\nClone Repositories:\n"
@printf " make apis-bom - Clone APIS BOM repository\n"
@printf " make apis-common - Clone APIS Common repository\n"
@printf " make apis-main - Clone APIS Main repository\n"
@printf " make apis-ccc - Clone APIS CCC repository\n"
@printf " make apis-log - Clone APIS Log repository\n"
@printf " make apis-web - Clone APIS Web repository\n"
@printf " make apis-emulator - Clone APIS Emulator repository\n"
@printf " make apis-main_controller - Clone APIS Main Controller repository\n"
@printf " make apis-service_center - Clone APIS Service Center repository\n"
@printf " make apis-tester - Clone APIS Tester repository\n\n"
@printf "Build Targets:\n"
@printf " make build-apis-* - Build a specific APIS module\n"
@printf " make build - Build all APIS modules\n\n"
@printf "Update Repositories:\n"
@printf " make update-apis-* - Update a specific APIS repository\n"
@printf " make update - Update all APIS repositories\n\n"
@printf "Clean Targets:\n"
@printf " make clean-apis-* - Clean a specific APIS module\n"
@printf " make clean - Clean all APIS modules\n\n"
@printf "Run Targets:\n"
@printf " make run-apis-* - Run a specific APIS module\n"
@printf " make run-mongodb - Run MongoDB service\n"
@printf " make run - Run all APIS services\n\n"
@printf "Stop Targets:\n"
@printf " make stop-apis-* - Stop a specific APIS module\n"
@printf " make stop-mongodb - Stop MongoDB service\n"
@printf " make stop - Stop all APIS services\n"

apis-bom:
git clone $(GIT_BASE_URL)/apis-bom.git
Expand Down
2 changes: 2 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
<!-- SPDX-License-Identifier: Apache-2.0 -->

# Copyright
## APIS (Autonomous Power Interchange System)
## © 2020 Sony Corporation
Expand Down
Loading