Skip to content

Commit 3662423

Browse files
committed
Added public documentation and circleci configuration
1 parent 84aa98f commit 3662423

File tree

2 files changed

+167
-0
lines changed

2 files changed

+167
-0
lines changed

.circleci/config.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
version: 2.1
2+
3+
jobs:
4+
# Builds
5+
buildBackend:
6+
docker:
7+
- image: circleci/python:3.6-node
8+
steps:
9+
- checkout
10+
- run:
11+
name: Install Top Level Dependencies
12+
command: yarn install
13+
- run:
14+
name: Install awscli
15+
command: sudo apt-get install -y awscli
16+
- run:
17+
name: make setup
18+
command: cd cla-backend && make setup_circle
19+
- run:
20+
name: List working dir
21+
command: ls
22+
- run:
23+
name: Copy Workspace To Avoid Conflicts
24+
command: mv ~/project ~/backend
25+
- persist_to_workspace:
26+
root: ~/
27+
paths:
28+
- backend/package.json
29+
- backend/cla-backend
30+
- backend/scripts
31+
- backend/project-vars.yml
32+
33+
buildGoBackend:
34+
docker:
35+
- image: circleci/golang:1.11
36+
working_directory: /go/src/github.com/communitybridge/easy-cla/
37+
steps:
38+
- checkout
39+
- run: go get -u github.com/go-swagger/go-swagger/cmd/swagger
40+
- run: cd cla-backend-go; make swagger; make build_aws_lambda
41+
- run: mv cla-backend-go ~/cla-backend-go
42+
- persist_to_workspace:
43+
root: ~/
44+
paths:
45+
- cla-backend-go/backend_aws_lambda
46+
47+
buildUIProject: &buildUIAnchor
48+
docker:
49+
- image: circleci/node:8-browsers
50+
steps:
51+
- checkout
52+
- run:
53+
name: Install Top Level Dependencies
54+
command: yarn install
55+
- run:
56+
name: Install Dependencies
57+
command: cd $PROJECT_DIR && make setup
58+
- run:
59+
name: Copy Workspace To Avoid Conflicts
60+
command: mv /home/circleci/project "/home/circleci/$PROJECT_DIR-workspace"
61+
- persist_to_workspace:
62+
root: ~/
63+
paths:
64+
- ./*
65+
66+
buildProjectManagementConsole:
67+
<<: *buildUIAnchor
68+
environment:
69+
PROJECT_DIR: frontend-project-management-console
70+
71+
buildCorporateManagementConsole:
72+
<<: *buildUIAnchor
73+
environment:
74+
PROJECT_DIR: cla-frontend-corporate-console
75+
76+
buildContributorConsole:
77+
<<: *buildUIAnchor
78+
environment:
79+
PROJECT_DIR: cla-frontend-console
80+
81+
workflows:
82+
version: 2.1
83+
build:
84+
jobs:
85+
- buildBackend:
86+
filters:
87+
tags:
88+
only: /.*/
89+
- buildGoBackend:
90+
requires:
91+
- buildBackend
92+
filters:
93+
tags:
94+
only: /.*/
95+
- buildProjectManagementConsole:
96+
requires:
97+
- buildBackend
98+
- buildGoBackend
99+
filters:
100+
tags:
101+
only: /.*/
102+
- buildCorporateManagementConsole:
103+
requires:
104+
- buildProjectManagementConsole
105+
filters:
106+
tags:
107+
only: /.*/
108+
- buildContributorConsole:
109+
requires:
110+
- buildCorporateManagementConsole
111+
filters:
112+
tags:
113+
only: /.*/

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Easy Contributor License Agreement (CLA) Project
2+
3+
[![CircleCI](https://circleci.com/gh/communitybridge/easy-cla.svg?style=svg&circle-token=936fbcd340fff1b26453a2f46ffeab48f4fd3be4)](https://circleci.com/gh/communitybridge/easy-cla)
4+
5+
Contributor License Agreement (CLA) project. This repository contains the
6+
backend and front-end UI for supporting and managing:
7+
8+
- Individual Contributor License Agreement (ICLA)
9+
- Corporate Contributor License Agreement (CCLA)
10+
11+
This platform supports both GitHub and Gerrit source code repositories.
12+
13+
## Third-party Services
14+
15+
Besides integration with Auth0 and Salesforce, the CLA system has the following third party services:
16+
17+
- [Docusign](https://www.docusign.com/) for CLA agreement e-sign flow
18+
- [Docraptor](https://docraptor.com/) for convert html CLA template as PDF file
19+
20+
## CLA Backend
21+
22+
The CLA project has two backend projects.
23+
24+
The majority of the backend APIs are implemented in python, and can be found
25+
in the `cla-backend` directory.
26+
27+
Recent backend development was implemented in Golang, and can be found in the
28+
`cla-backend-go` directory. In particular, this backend contains APIs
29+
powering Automated Templates, GitHub Whitelists, and Duplicate Company
30+
handling in the Corporate Console.
31+
32+
## CLA Frontend
33+
34+
### Overview
35+
36+
CLA frontend consists of three independent SPA build with
37+
[Ionic](https://ionicframework.com/) framework.
38+
39+
- `frontend-project-management-console` for LinuxFoundation director/admin/user to manage project CLA
40+
- `cla-frontend-corporate-console` for any concrete company CLA manager to sign CCLA and manage employee CLA whitelist
41+
- `cla-frontend-console` for any project contributor to sign ICLA or CCLA
42+
43+
## License
44+
45+
Copyright The Linux Foundation and each contributor to CommunityBridge.
46+
47+
This project’s source code is licensed under the GNU Affero General
48+
Public License, either version 3 or (at your option) any later version
49+
(AGPL-3.0-or-later). A copy of the license is available in LICENSE-
50+
code.txt.
51+
52+
This project’s documentation is licensed under the Creative Commons Attribution
53+
4.0 International License (CC-BY-4.0). A copy of the license is available in
54+
LICENSE-docs.txt.

0 commit comments

Comments
 (0)