feat(monorepo): add pnpmWorkspace support for package resolution #105
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Regression Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| run_all_tests: | |
| runs-on: ubuntu-latest | |
| #if: "!contains(github.event.pull_request.title, '[NO-REGRESSION-TEST]')" | |
| env: | |
| LANGS: "go rust python java typescript" | |
| steps: | |
| - name: Setup Go environment | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| - name: Setup Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| components: rust-analyzer | |
| - name: Setup Python environment | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Setup JDK 21 | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '21' | |
| distribution: 'temurin' | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Checkout pull request code | |
| uses: actions/checkout@v4 | |
| with: | |
| path: 'pr_repo' | |
| - name: Checkout main branch code | |
| uses: actions/checkout@v4 | |
| with: | |
| ref: 'main' | |
| path: 'main_repo' | |
| - name: Compile both binaries | |
| run: | | |
| (cd main_repo && go build -o ../abcoder_old) | |
| (cd pr_repo && go build -o ../abcoder_new) | |
| - name: Install evaluation dependencies | |
| run: pip install -r ./pr_repo/script/requirements.txt | |
| - name: Install LSPs | |
| run: | | |
| OUTDIR=out_new ABCEXE=./abcoder_new ./pr_repo/script/run_testdata.sh first | |
| # use the same JDTLS for consistency and to avoid wasting time installing a duplicate JDTLS | |
| echo "JDTLS_ROOT_PATH=$(realpath ./pr_repo/lang/java/lsp/jdtls/jdt-language-server-*)" >> $GITHUB_ENV | |
| - name: Run OLD abcoder | |
| run: | |
| OUTDIR=out_old ABCEXE=./abcoder_old ./pr_repo/script/run_testdata.sh all | |
| - name: Run NEW abcoder | |
| run: | |
| OUTDIR=out_new ABCEXE=./abcoder_new ./pr_repo/script/run_testdata.sh all | |
| - name: Compare outputs and check for regression | |
| id: diff_check | |
| run: ./pr_repo/script/diffjson.py out_old out_new || echo "failed=true" >> $GITHUB_OUTPUT | |
| continue-on-error: true | |
| - name: Upload output directories | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: regression-outputs | |
| path: | | |
| out_old | |
| out_new | |
| retention-days: 3 | |
| - name: Status check | |
| if: steps.diff_check.outputs.failed == 'true' | |
| run: exit 1 |