Skip to content

Commit

Permalink
chore: add PR testing workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
Datron committed Apr 19, 2024
1 parent cbd5b6f commit 03bfeaa
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @juspay/sdk-backend
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 @@
## Problem
Describe the problem you are trying to solve here

## Solution
Provide a brief summary of your solution so that reviewers can understand your code

## Environment variable changes

What ENVs need to be added or changed

## Pre-deployment activity
Things needed to be done before deploying this change (if any)

## Post-deployment activity
Things needed to be done after deploying this change (if any)

## API changes
| Endpoint | Method | Request body | Response Body |
| ------------- |:-------------:| -----:| ----------------:|
| API | GET/POST, etc | request | response |

## Possible Issues in the future
Describe any possible issues that could occur because of this change
111 changes: 111 additions & 0 deletions .github/workflows/ci_check_pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: CI-pr

on: [pull_request]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
# Disable incremental compilation.
#
# Incremental compilation is useful as part of an edit-build-test-edit cycle,
# as it lets the compiler avoid recompiling code that hasn't changed. However,
# on CI, we're not making small edits; we're almost always building the entire
# project from scratch. Thus, incremental compilation on CI actually
# introduces *additional* overhead to support making future builds
# faster...but no future builds will ever occur in any given CI environment.
#
# See https://matklad.github.io/2021/09/04/fast-rust-builds.html#ci-workflow
# for details.
CARGO_INCREMENTAL: 0
# Allow more retries for network requests in cargo (downloading crates) and
# rustup (installing toolchains). This should help to reduce flaky CI failures
# from transient network timeouts or other issues.
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
# Don't emit giant backtraces in the CI logs.
RUST_BACKTRACE: short
# Use cargo's sparse index protocol
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

jobs:
formatting:
name: Check formatting
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.76.0
targets: wasm32-unknown-unknown
components: rustfmt, clippy

- name: Check formatting
shell: bash
run: cargo fmt --all --check

- name: Check conventional commit
uses: cocogitto/cocogitto-action@v3
id: check
with:
check-latest-tag-only: true

test:
name: Testing
runs-on: ubuntu-latest
services:
postgres:
image: postgres:12-alpine
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: "docker"
POSTGRES_DB: "config"
restart: on-failure

localstack:
image: localstack/localstack:1.3.0
ports:
- 4510-4559:4510-4559 # external service port range
- 4566:4566 # LocalStack Edge Proxy
- 4571:4571
env:
LOCALSTACK_SERVICES: kms
AWS_DEFAULT_REGION: ap-south-1
EDGE_PORT: 4566
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.76.0
targets: wasm32-unknown-unknown
components: rustfmt, clippy

- name: install node
uses: actions/setup-node@v4
with:
node_version: 18.19.0

- name: run tests
shell: bash
run: |
export DB_PASSWORD=`./docker-compose/localstack/get_db_password.sh` && echo $$DB_PASSWORD
make ci-test
env:
AWS_ACCESS_KEY_ID: test
AWS_SECRET_ACCESS_KEY: test
AWS_SESSION_TOKEN: test
AWS_REGION: ap-south-1
Empty file.

0 comments on commit 03bfeaa

Please sign in to comment.