Merge pull request #2044 from codeflash-ai/ci/skip-irrelevant-checks
ci: consolidate required checks into single gate workflow
This commit is contained in:
commit
6f63ce0d60
18 changed files with 1093 additions and 1351 deletions
1093
.github/workflows/ci.yaml
vendored
Normal file
1093
.github/workflows/ci.yaml
vendored
Normal file
File diff suppressed because it is too large
Load diff
77
.github/workflows/e2e-async.yaml
vendored
77
.github/workflows/e2e-async.yaml
vendored
|
|
@ -1,77 +0,0 @@
|
||||||
name: E2E - Async
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
async-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 10
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize async code
|
|
||||||
id: optimize_async_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_async.py
|
|
||||||
76
.github/workflows/e2e-bubblesort-benchmark.yaml
vendored
76
.github/workflows/e2e-bubblesort-benchmark.yaml
vendored
|
|
@ -1,76 +0,0 @@
|
||||||
name: E2E - Bubble Sort Benchmark
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
benchmark-bubble-sort-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 5
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code_with_benchmarks
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_benchmark_sort.py
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
name: E2E - Bubble Sort Pytest (No Git)
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
bubble-sort-optimization-pytest-no-git:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 70
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Remove .git
|
|
||||||
run: |
|
|
||||||
if [ -d ".git" ]; then
|
|
||||||
echo ".git directory exists!"
|
|
||||||
sudo rm -rf .git
|
|
||||||
if [ -d ".git" ]; then
|
|
||||||
echo ".git directory still exists after removal attempt!"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo ".git directory successfully removed."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo ".git directory does not exist. Nothing to remove."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_bubblesort_pytest.py
|
|
||||||
76
.github/workflows/e2e-bubblesort-unittest.yaml
vendored
76
.github/workflows/e2e-bubblesort-unittest.yaml
vendored
|
|
@ -1,76 +0,0 @@
|
||||||
name: E2E - Bubble Sort Unittest
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
bubble-sort-optimization-unittest:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 40
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_bubblesort_unittest.py
|
|
||||||
75
.github/workflows/e2e-coverage-optimization.yaml
vendored
75
.github/workflows/e2e-coverage-optimization.yaml
vendored
|
|
@ -1,75 +0,0 @@
|
||||||
name: Coverage E2E
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
end-to-end-test-coverage:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
uv add black # my-best-repo in end_to_end_test_coverage.py is configured to use black
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_coverage.py
|
|
||||||
76
.github/workflows/e2e-futurehouse-structure.yaml
vendored
76
.github/workflows/e2e-futurehouse-structure.yaml
vendored
|
|
@ -1,76 +0,0 @@
|
||||||
name: E2E - Futurehouse Structure
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
futurehouse-structure:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 5
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_futurehouse.py
|
|
||||||
75
.github/workflows/e2e-init-optimization.yaml
vendored
75
.github/workflows/e2e-init-optimization.yaml
vendored
|
|
@ -1,75 +0,0 @@
|
||||||
name: E2E - Init Optimization
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
init-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 10
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_init_optimization.py
|
|
||||||
105
.github/workflows/e2e-java-fibonacci-nogit.yaml
vendored
105
.github/workflows/e2e-java-fibonacci-nogit.yaml
vendored
|
|
@ -1,105 +0,0 @@
|
||||||
name: E2E - Java Fibonacci (No Git)
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/languages/java/**'
|
|
||||||
- 'codeflash/languages/base.py'
|
|
||||||
- 'codeflash/languages/registry.py'
|
|
||||||
- 'codeflash/optimization/**'
|
|
||||||
- 'codeflash/verification/**'
|
|
||||||
- 'code_to_optimize/java/**'
|
|
||||||
- 'codeflash-java-runtime/**'
|
|
||||||
- 'tests/scripts/end_to_end_test_java_fibonacci.py'
|
|
||||||
- '.github/workflows/e2e-java-fibonacci-nogit.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
java-fibonacci-optimization-no-git:
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 70
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
env:
|
|
||||||
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
|
|
||||||
PR_STATE: ${{ github.event.pull_request.state }}
|
|
||||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
||||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
||||||
run: |
|
|
||||||
if git diff --name-only "$BASE_SHA" "$HEAD_SHA" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
echo "PR Author: $PR_AUTHOR"
|
|
||||||
if [[ "$PR_AUTHOR" == "misrasaurabh1" || "$PR_AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($PR_AUTHOR). Proceeding."
|
|
||||||
elif [[ "$PR_STATE" == "open" ]]; then
|
|
||||||
echo "✅ PR is open. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($PR_AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up JDK 11
|
|
||||||
uses: actions/setup-java@v4
|
|
||||||
with:
|
|
||||||
java-version: '11'
|
|
||||||
distribution: 'temurin'
|
|
||||||
cache: maven
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: uv sync
|
|
||||||
|
|
||||||
- name: Build codeflash-runtime JAR
|
|
||||||
run: |
|
|
||||||
cd codeflash-java-runtime
|
|
||||||
mvn clean package -q -DskipTests
|
|
||||||
mvn install -q -DskipTests
|
|
||||||
|
|
||||||
- name: Verify Java installation
|
|
||||||
run: |
|
|
||||||
java -version
|
|
||||||
mvn --version
|
|
||||||
|
|
||||||
- name: Remove .git
|
|
||||||
run: |
|
|
||||||
if [ -d ".git" ]; then
|
|
||||||
sudo rm -rf .git
|
|
||||||
echo ".git directory removed."
|
|
||||||
else
|
|
||||||
echo ".git directory does not exist."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize Fibonacci
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_java_fibonacci.py
|
|
||||||
90
.github/workflows/e2e-java-tracer.yaml
vendored
90
.github/workflows/e2e-java-tracer.yaml
vendored
|
|
@ -1,90 +0,0 @@
|
||||||
name: E2E - Java Tracer
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'codeflash-java-runtime/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- '.github/workflows/e2e-java-tracer.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
java-tracer-e2e:
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 10
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
env:
|
|
||||||
PR_AUTHOR: ${{ github.event.pull_request.user.login }}
|
|
||||||
PR_STATE: ${{ github.event.pull_request.state }}
|
|
||||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
||||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
||||||
run: |
|
|
||||||
if git diff --name-only "$BASE_SHA" "$HEAD_SHA" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
echo "PR Author: $PR_AUTHOR"
|
|
||||||
if [[ "$PR_AUTHOR" == "misrasaurabh1" || "$PR_AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($PR_AUTHOR). Proceeding."
|
|
||||||
elif [[ "$PR_STATE" == "open" ]]; then
|
|
||||||
echo "✅ PR is open. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($PR_AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up JDK 11
|
|
||||||
uses: actions/setup-java@v4
|
|
||||||
with:
|
|
||||||
java-version: '11'
|
|
||||||
distribution: 'temurin'
|
|
||||||
cache: maven
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: uv sync
|
|
||||||
|
|
||||||
- name: Build codeflash-runtime JAR
|
|
||||||
run: |
|
|
||||||
cd codeflash-java-runtime
|
|
||||||
mvn clean package -q -DskipTests
|
|
||||||
mvn install -q -DskipTests
|
|
||||||
|
|
||||||
- name: Verify Java installation
|
|
||||||
run: |
|
|
||||||
java -version
|
|
||||||
mvn --version
|
|
||||||
|
|
||||||
- name: Run Java tracer e2e test
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_java_tracer.py
|
|
||||||
93
.github/workflows/e2e-js-cjs-function.yaml
vendored
93
.github/workflows/e2e-js-cjs-function.yaml
vendored
|
|
@ -1,93 +0,0 @@
|
||||||
name: E2E - JS CommonJS Function
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
js-cjs-function-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 50
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
|
|
||||||
- name: Install codeflash npm package dependencies
|
|
||||||
run: |
|
|
||||||
cd packages/codeflash
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Install JS test project dependencies
|
|
||||||
run: |
|
|
||||||
cd code_to_optimize/js/code_to_optimize_js
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize JS CommonJS function
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_js_cjs_function.py
|
|
||||||
93
.github/workflows/e2e-js-esm-async.yaml
vendored
93
.github/workflows/e2e-js-esm-async.yaml
vendored
|
|
@ -1,93 +0,0 @@
|
||||||
name: E2E - JS ESM Async
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
js-esm-async-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 10
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
|
|
||||||
- name: Install codeflash npm package dependencies
|
|
||||||
run: |
|
|
||||||
cd packages/codeflash
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Install JS test project dependencies
|
|
||||||
run: |
|
|
||||||
cd code_to_optimize/js/code_to_optimize_js_esm
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize ESM async function
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_js_esm_async.py
|
|
||||||
93
.github/workflows/e2e-js-ts-class.yaml
vendored
93
.github/workflows/e2e-js-ts-class.yaml
vendored
|
|
@ -1,93 +0,0 @@
|
||||||
name: E2E - JS TypeScript Class
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
js-ts-class-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 30
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
|
|
||||||
- name: Install codeflash npm package dependencies
|
|
||||||
run: |
|
|
||||||
cd packages/codeflash
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Install JS test project dependencies
|
|
||||||
run: |
|
|
||||||
cd code_to_optimize/js/code_to_optimize_ts
|
|
||||||
npm install
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize TypeScript class method
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_js_ts_class.py
|
|
||||||
101
.github/workflows/e2e-topological-sort.yaml
vendored
101
.github/workflows/e2e-topological-sort.yaml
vendored
|
|
@ -1,101 +0,0 @@
|
||||||
name: E2E - Topological Sort (Worktree)
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
topological-sort-worktree-optimization:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 5
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Debug Environment Decision
|
|
||||||
run: |
|
|
||||||
# Construct the condition result manually for debugging
|
|
||||||
EVENT_NAME="${{ github.event_name }}"
|
|
||||||
FILES_CHANGED="${{ toJSON(github.event.pull_request.files.*.filename) }}"
|
|
||||||
PR_AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
|
|
||||||
echo "Event Name: $EVENT_NAME"
|
|
||||||
echo "Files Changed: $FILES_CHANGED"
|
|
||||||
echo "PR Author: $PR_AUTHOR"
|
|
||||||
|
|
||||||
# Check workflow file changes
|
|
||||||
if [[ "$FILES_CHANGED" == *".github/workflows/"* ]]; then
|
|
||||||
echo "Workflow files changed: YES"
|
|
||||||
else
|
|
||||||
echo "Workflow files changed: NO"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check author conditions
|
|
||||||
if [[ "$PR_AUTHOR" != "misrasaurabh1" && "$PR_AUTHOR" != "KRRT7" ]]; then
|
|
||||||
echo "Author needs approval: YES"
|
|
||||||
else
|
|
||||||
echo "Author needs approval: NO"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Selected environment
|
|
||||||
echo "Selected Environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}"
|
|
||||||
|
|
||||||
- name: Validate PR for workflow changes
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_topological_sort_worktree.py
|
|
||||||
76
.github/workflows/e2e-tracer-replay.yaml
vendored
76
.github/workflows/e2e-tracer-replay.yaml
vendored
|
|
@ -1,76 +0,0 @@
|
||||||
name: E2E - Tracer Replay
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- '.github/workflows/e2e-*.yaml'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
tracer-replay:
|
|
||||||
# Dynamically determine if environment is needed only when workflow files change and contributor is external
|
|
||||||
environment: ${{ (github.event_name == 'workflow_dispatch' || (contains(toJSON(github.event.pull_request.files.*.filename), '.github/workflows/') && github.event.pull_request.user.login != 'misrasaurabh1' && github.event.pull_request.user.login != 'KRRT7')) && 'external-trusted-contributors' || '' }}
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
CODEFLASH_AIS_SERVER: prod
|
|
||||||
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
|
|
||||||
CODEFLASH_API_KEY: ${{ secrets.CODEFLASH_API_KEY }}
|
|
||||||
COLUMNS: 110
|
|
||||||
MAX_RETRIES: 3
|
|
||||||
RETRY_DELAY: 5
|
|
||||||
EXPECTED_IMPROVEMENT_PCT: 10
|
|
||||||
CODEFLASH_END_TO_END: 1
|
|
||||||
steps:
|
|
||||||
- name: 🛎️ Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: ${{ github.event.pull_request.head.ref }}
|
|
||||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
- name: Validate PR
|
|
||||||
run: |
|
|
||||||
# Check for any workflow changes
|
|
||||||
if git diff --name-only "${{ github.event.pull_request.base.sha }}" "${{ github.event.pull_request.head.sha }}" | grep -q "^.github/workflows/"; then
|
|
||||||
echo "⚠️ Workflow changes detected."
|
|
||||||
|
|
||||||
# Get the PR author
|
|
||||||
AUTHOR="${{ github.event.pull_request.user.login }}"
|
|
||||||
echo "PR Author: $AUTHOR"
|
|
||||||
|
|
||||||
# Allowlist check
|
|
||||||
if [[ "$AUTHOR" == "misrasaurabh1" || "$AUTHOR" == "KRRT7" ]]; then
|
|
||||||
echo "✅ Authorized user ($AUTHOR). Proceeding."
|
|
||||||
elif [[ "${{ github.event.pull_request.state }}" == "open" ]]; then
|
|
||||||
echo "✅ PR triggered by 'pull_request_target' and is open. Assuming protection rules are in place. Proceeding."
|
|
||||||
else
|
|
||||||
echo "⛔ Unauthorized user ($AUTHOR) attempting to modify workflows. Exiting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "✅ No workflow file changes detected. Proceeding."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
- name: Set up Python 3.11 for CLI
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: 3.11.6
|
|
||||||
|
|
||||||
- name: Install dependencies (CLI)
|
|
||||||
run: |
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
- name: Run Codeflash to optimize code
|
|
||||||
id: optimize_code
|
|
||||||
run: |
|
|
||||||
uv run python tests/scripts/end_to_end_test_tracer_replay.py
|
|
||||||
43
.github/workflows/mypy.yml
vendored
43
.github/workflows/mypy.yml
vendored
|
|
@ -1,43 +0,0 @@
|
||||||
name: Mypy Type Checking for CLI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- 'mypy_allowlist.txt'
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
- 'mypy_allowlist.txt'
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
type-check-cli:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Install uv
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
|
|
||||||
- name: sync uv
|
|
||||||
run: |
|
|
||||||
uv venv --seed
|
|
||||||
uv sync
|
|
||||||
|
|
||||||
|
|
||||||
- name: Run mypy on allowlist
|
|
||||||
run: uv run mypy --non-interactive --config-file pyproject.toml @mypy_allowlist.txt
|
|
||||||
25
.github/workflows/prek.yaml
vendored
25
.github/workflows/prek.yaml
vendored
|
|
@ -1,25 +0,0 @@
|
||||||
name: Lint
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
prek:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
- uses: j178/prek-action@v1
|
|
||||||
with:
|
|
||||||
extra-args: '--from-ref origin/${{ github.base_ref }} --to-ref ${{ github.sha }}'
|
|
||||||
85
.github/workflows/unit-tests.yaml
vendored
85
.github/workflows/unit-tests.yaml
vendored
|
|
@ -1,85 +0,0 @@
|
||||||
name: unit-tests
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'codeflash-benchmark/**'
|
|
||||||
- 'codeflash-java-runtime/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- 'codeflash/**'
|
|
||||||
- 'codeflash-benchmark/**'
|
|
||||||
- 'codeflash-java-runtime/**'
|
|
||||||
- 'tests/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'pyproject.toml'
|
|
||||||
- 'uv.lock'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref_name }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
unit-tests:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.9"
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.10"
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.11"
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.12"
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.13"
|
|
||||||
- os: ubuntu-latest
|
|
||||||
python-version: "3.14"
|
|
||||||
- os: windows-latest
|
|
||||||
python-version: "3.13"
|
|
||||||
continue-on-error: true
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
env:
|
|
||||||
PYTHONIOENCODING: utf-8
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Set up JDK 11
|
|
||||||
uses: actions/setup-java@v4
|
|
||||||
with:
|
|
||||||
java-version: '11'
|
|
||||||
distribution: 'temurin'
|
|
||||||
cache: maven
|
|
||||||
|
|
||||||
- name: Build codeflash-runtime JAR
|
|
||||||
run: |
|
|
||||||
cd codeflash-java-runtime
|
|
||||||
mvn clean package -q -DskipTests
|
|
||||||
mvn install -q -DskipTests
|
|
||||||
|
|
||||||
- name: Install uv
|
|
||||||
uses: astral-sh/setup-uv@v8.0.0
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
|
|
||||||
- name: install dependencies
|
|
||||||
run: uv sync
|
|
||||||
|
|
||||||
- name: Install test-only dependencies (Python 3.9 and 3.13)
|
|
||||||
if: matrix.python-version == '3.9' || matrix.python-version == '3.13'
|
|
||||||
run: uv sync --group tests
|
|
||||||
|
|
||||||
- name: Unit tests
|
|
||||||
run: uv run pytest tests/
|
|
||||||
Loading…
Reference in a new issue