Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
5ff85b6
Rewrite python legacy APIs in golang
lukaszgryglicki Mar 11, 2026
6f6499e
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Mar 11, 2026
2b495d3
Address AI feedback
lukaszgryglicki Mar 11, 2026
3ff7815
Address AI feedback
lukaszgryglicki Mar 11, 2026
9c00de1
Address AI feedback
lukaszgryglicki Mar 11, 2026
ee1fe01
Address AI feedback 2
lukaszgryglicki Mar 11, 2026
9a3f9ce
Address AI feedback 3
lukaszgryglicki Mar 11, 2026
a806c45
Fix the CI
lukaszgryglicki Mar 11, 2026
cf800d3
Fix the CI 2
lukaszgryglicki Mar 11, 2026
071c32f
Fix the CI 3
lukaszgryglicki Mar 11, 2026
f936a1e
Merge remote-tracking branch 'origin/dev' into unicron-rewrite-py2go
lukaszgryglicki Mar 11, 2026
46f4baa
Fix the CI 4
lukaszgryglicki Mar 11, 2026
c132688
Fix the CI 5
lukaszgryglicki Mar 11, 2026
fb6cbf7
Fix the CI 6
lukaszgryglicki Mar 11, 2026
77a49d9
Fix the CI 7
lukaszgryglicki Mar 11, 2026
2c4edf8
Fix the CI 8
lukaszgryglicki Mar 11, 2026
cda4ac9
Fix the CI 9
lukaszgryglicki Mar 11, 2026
8fe3ed2
Fix the CI 10
lukaszgryglicki Mar 11, 2026
74e6ee1
Fix the CI 11
lukaszgryglicki Mar 11, 2026
b8c8878
Fix the CI 12
lukaszgryglicki Mar 11, 2026
a12aff9
Fix the CI 13
lukaszgryglicki Mar 11, 2026
a3d24cf
Fix the CI 14
lukaszgryglicki Mar 11, 2026
9efd666
DDog updates/API templates collapse updates
lukaszgryglicki Mar 12, 2026
f25d995
Removing python v1/v2 APIs
lukaszgryglicki Mar 12, 2026
3ff782d
Update .gitignore
lukaszgryglicki Mar 12, 2026
82d13de
Manual rebase
lukaszgryglicki Mar 17, 2026
24901b5
WIP update to sync with the latest feature request
lukaszgryglicki Mar 17, 2026
d0f1838
Resolve conflict: keep utils.py deleted
lukaszgryglicki Mar 17, 2026
66b7365
SYnc one tool update
lukaszgryglicki Mar 18, 2026
a4f11e5
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Mar 18, 2026
7deed32
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Mar 18, 2026
66e3338
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Mar 19, 2026
b32b627
Fix the CI
lukaszgryglicki Mar 19, 2026
23d74e3
Merge dev into unicron-rewrite-py2go keeping Python files removed
lukaszgryglicki Apr 1, 2026
9daacce
Backport recent changes to py -> go rewrite
lukaszgryglicki Apr 1, 2026
753b977
Fix the CI
lukaszgryglicki Apr 1, 2026
dbb3227
Final patch?
lukaszgryglicki Apr 2, 2026
1958400
Revert unneeded cla-backend-go changes
lukaszgryglicki Apr 2, 2026
a17f5e8
Fix the CI
lukaszgryglicki Apr 2, 2026
66d2b2f
Manual merge - WIP
lukaszgryglicki Apr 8, 2026
f053d26
Backuport
lukaszgryglicki Apr 8, 2026
4516fe2
Backport recent changes to legacy go
lukaszgryglicki Apr 8, 2026
5d628cc
Merge with dev
lukaszgryglicki Apr 8, 2026
ccae910
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Apr 9, 2026
83dcd66
Merge branch 'dev' into unicron-rewrite-py2go
lukaszgryglicki Apr 9, 2026
5fc5df0
Fix the CI
lukaszgryglicki Apr 9, 2026
b692fdf
Remove no longer needed file
lukaszgryglicki Apr 14, 2026
20894ca
Fix the CI
lukaszgryglicki Apr 14, 2026
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
19 changes: 19 additions & 0 deletions .github/codeql-config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: "CodeQL Config for EasyCLA Go Backend"

# Additional queries for Go security analysis
queries:
- uses: security-and-quality
- uses: security-extended

# Custom rules for Go backend
disable-default-queries: false

# Paths to analyze
paths:
- cla-backend-legacy/

# Paths to ignore
paths-ignore:
- cla-backend-legacy/resources/
- cla-backend-legacy/bin/
- cla-backend-legacy/vendor/
82 changes: 38 additions & 44 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,61 +1,55 @@
---
# Copyright The Linux Foundation and each contributor to CommunityBridge.
# SPDX-License-Identifier: MIT

# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/cla-landing-page" # Location of package manifests
# Enable version updates for npm (existing)
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "monthly"
open-pull-requests-limit: 3

# Enable version updates for npm in cla-frontend-project-console
- package-ecosystem: "npm"
directory: "/cla-frontend-project-console"
schedule:
interval: "monthly"
open-pull-requests-limit: 3

# Enable version updates for npm in cla-frontend-corporate-console
- package-ecosystem: "npm"
directory: "/cla-frontend-corporate-console"
schedule:
interval: "monthly"
open-pull-requests-limit: 3
ignore:
- dependency-name: "serverless"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "serverless-domain-manager"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: "npm" # See documentation for possible values
directory: "/cla-backend" # Location of package manifests

# Enable version updates for npm in cla-frontend-contributor-console
- package-ecosystem: "npm"
directory: "/cla-frontend-contributor-console"
schedule:
interval: "monthly"
open-pull-requests-limit: 3
ignore:
- dependency-name: "serverless"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "serverless-domain-manager"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: "pip" # See documentation for possible values
directory: "/cla-backend" # Location of package manifests

# Enable version updates for Python dependencies in cla-backend
- package-ecosystem: "pip"
directory: "/cla-backend"
schedule:
interval: "monthly"
open-pull-requests-limit: 3
ignore:
- dependency-name: "serverless"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "serverless-domain-manager"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: "npm" # See documentation for possible values
directory: "/cla-backend-go" # Location of package manifests

# Enable version updates for Go dependencies in cla-backend-go
- package-ecosystem: "gomod"
directory: "/cla-backend-go"
schedule:
interval: "monthly"
open-pull-requests-limit: 3
ignore:
- dependency-name: "serverless"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "serverless-domain-manager"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: "gomod" # See documentation for possible values
directory: "/cla-backend-go" # Location of package manifests

# NEW: Enable version updates for Go dependencies in cla-backend-legacy
- package-ecosystem: "gomod"
directory: "/cla-backend-legacy"
schedule:
interval: "monthly"
open-pull-requests-limit: 3
ignore:
- dependency-name: "serverless"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
- dependency-name: "serverless-domain-manager"
update-types: ["version-update:semver-major", "version-update:semver-minor", "version-update:semver-patch"]
reviewers:
- "lukaszgryglicki"
commit-message:
prefix: "deps"
include: "scope"
6 changes: 6 additions & 0 deletions .github/license-report.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{{- range . }}
Package: {{ .Name }}
License: {{ .LicenseName }}
License URL: {{ .LicenseURL }}
---
{{- end }}
50 changes: 48 additions & 2 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Setup go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.25'
- name: Go Version
run: go version
- name: Setup Node
Expand All @@ -40,7 +40,7 @@ jobs:
python-version: '3.11'
cache: 'pip'
- name: Cache Go modules
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
Expand Down Expand Up @@ -110,3 +110,49 @@ jobs:
- name: Go Lint
working-directory: cla-backend-go
run: make lint

- name: Go Setup CLA Legacy Backend
working-directory: cla-backend-legacy
run: |
go mod tidy

- name: Go Build CLA Legacy Backend
working-directory: cla-backend-legacy
run: |
make lambdas

- name: Go Test CLA Legacy Backend
working-directory: cla-backend-legacy
run: go test ./...
Comment thread
lukaszgryglicki marked this conversation as resolved.

- name: Go Lint CLA Legacy Backend
working-directory: cla-backend-legacy
run: make lint

# Security scanning for Go Legacy Backend
- name: Go Security Scan (Gosec)
uses: securecodewarrior/github-action-gosec@master
with:
args: '-fmt sarif -out gosec-results.sarif ./...'
continue-on-error: true

- name: Upload Gosec SARIF to GitHub Security Tab
uses: github/codeql-action/upload-sarif@v2
if: always()
with:
sarif_file: cla-backend-legacy/gosec-results.sarif
category: gosec-legacy-backend
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

- name: Go Vulnerability Check (govulncheck)
working-directory: cla-backend-legacy
run: |
go install golang.org/x/vuln/cmd/govulncheck@latest
govulncheck ./...
continue-on-error: true

- name: Static Analysis (staticcheck)
working-directory: cla-backend-legacy
run: |
go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./...
continue-on-error: true
112 changes: 112 additions & 0 deletions .github/workflows/cla-backend-legacy-deploy-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
# Copyright The Linux Foundation and each contributor to CommunityBridge.
# SPDX-License-Identifier: MIT

name: Build and Deploy CLA Legacy Backend to DEV
on:
push:
branches:
- dev
paths:
- 'cla-backend-legacy/**'
- '.github/workflows/cla-backend-legacy-deploy-dev.yml'

permissions:
# These permissions are needed to interact with GitHub's OIDC Token endpoint to fetch/set the AWS deployment credentials.
id-token: write
contents: read

env:
AWS_REGION: us-east-1
STAGE: dev
DD_VERSION: ${{ github.sha }}

jobs:
build-deploy-legacy-dev:
runs-on: ubuntu-latest
environment: dev
steps:
- uses: actions/checkout@v4

- name: Setup go
uses: actions/setup-go@v5
with:
go-version: '1.22'

- name: Go Version
run: go version

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
audience: sts.amazonaws.com
role-to-assume: arn:aws:iam::395594542180:role/github-actions-deploy
aws-region: us-east-1

- name: Cache Go modules
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-

- name: Configure Git to clone private Github repos
run: git config --global url."https://${TOKEN_USER}:${TOKEN}@github.com".insteadOf "https://github.com"
env:
TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN_GITHUB }}
TOKEN_USER: ${{ secrets.PERSONAL_ACCESS_TOKEN_USER_GITHUB }}

- name: Add OS Tools
run: sudo apt update && sudo apt-get install file -y

- name: Go Setup CLA Legacy Backend
working-directory: cla-backend-legacy
run: |
go mod tidy

- name: Go Build CLA Legacy Backend
working-directory: cla-backend-legacy
run: |
make lambdas

- name: Go Test CLA Legacy Backend
working-directory: cla-backend-legacy
run: go test ./...

- name: Go Lint CLA Legacy Backend
working-directory: cla-backend-legacy
run: make lint

- name: Setup Deployment
working-directory: cla-backend-legacy
run: |
npm install

- name: EasyCLA Legacy Backend Deployment us-east-1
working-directory: cla-backend-legacy
run: |
if [[ ! -f bin/legacy-api-lambda ]]; then echo "Missing bin/legacy-api-lambda binary file. Exiting..."; exit 1; fi
if [[ ! -f serverless.yml ]]; then echo "Missing serverless.yml file. Exiting..."; exit 1; fi
# Create empty env.json if it doesn't exist
echo '{}' > env.json
npx serverless deploy --force --stage ${STAGE} --region us-east-1 --verbose

- name: EasyCLA Legacy Backend Service Check
run: |
sudo apt install curl jq -y

# Development environment endpoints to test
declare -r v1_url="https://apigo.lfcla.${STAGE}.platform.linuxfoundation.org/v1/health"
declare -r v2_url="https://apigo.lfcla.${STAGE}.platform.linuxfoundation.org/v2/health"

echo "Validating v1 backend using endpoint: ${v1_url}"
curl --fail -XGET ${v1_url} || echo "v1 health endpoint check failed (expected for now)"

echo "Validating v2 backend using endpoint: ${v2_url}"
curl --fail -XGET ${v2_url} || echo "v2 health endpoint check failed (expected for now)"
Loading
Loading