Return to workspace after env setup #23
This file contains 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: Test working-directory input | |
on: push | |
jobs: | |
test-working-directory: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up test environment | |
run: | | |
pip install pip-requirements-parser | |
mkdir -p $RUNNER_TEMP/test-repo | |
pushd $RUNNER_TEMP/test-repo | |
git init | |
git config user.email "[email protected]" | |
git config user.name "Test User" | |
git commit --allow-empty -m "Initial empty commit" | |
echo 'def hello(): return "Hello, World!"' > test.py | |
git add test.py | |
git commit -m "Add test.py file" | |
echo 'def hello(): return "Hello, World!"' > test.py | |
popd | |
- name: Run Darker without working-directory (should not reformat) | |
uses: ./ | |
continue-on-error: true | |
id: no-work-dir | |
with: | |
version: "@gh-action-working-directory" | |
options: --check --diff | |
src: test.py | |
revision: HEAD | |
- name: Check that test.py was not found | |
if: always() && steps.no-work-dir.outputs.exitcode != '2' | |
run: | | |
echo "::error::Darker should have failed with exit code 2" | |
exit 1 | |
- name: Run Darker with correct working-directory | |
id: right-workdir | |
if: always() | |
uses: ./ | |
with: | |
version: "@gh-action-working-directory" | |
options: --check --diff | |
working-directory: ${{ runner.temp }}/test-repo | |
src: test.py | |
revision: HEAD | |
- name: Verify exit code 1 when reformatting is needed | |
if: always() && steps.right-workdir.outputs.exitcode != '1' | |
run: | | |
echo "::error::Darker should have exited with code 1" | |
exit 1 | |
- name: Verify diff output | |
if: always() && !contains(steps.right-workdir.outputs.stdout, '@@') | |
run: | | |
echo "::error::Darker did not output a diff as expected" | |
exit 1 | |
- name: Run Darker with incorrect working-directory (should not reformat) | |
if: always() | |
uses: ./ | |
continue-on-error: true | |
id: wrong-work-dir | |
with: | |
version: "@gh-action-working-directory" | |
options: --check --diff | |
working-directory: ${{ runner.temp }}/non-existent-dir | |
src: test.py | |
revision: HEAD | |
- name: Check that Darker failed with a non-existing working-directory | |
if: always() && steps.wrong-work-dir.outputs.exitcode != '21' | |
run: | | |
echo "::error::Darker should have exited with code 21" | |
exit 1 | |
- name: Test file not found error | |
id: file-not-found | |
if: always() | |
uses: ./ | |
continue-on-error: true | |
with: | |
version: "@gh-action-working-directory" | |
options: --check --diff | |
working-directory: ${{ runner.temp }}/test-repo | |
src: non_existent_file.py | |
- name: Check file not found error code | |
if: always() && steps.file-not-found.outputs.exitcode != '2' | |
run: | | |
echo "::error::Darker should have exited with code 2" | |
exit 1 | |
- name: Test invalid arguments error | |
id: invalid-arguments | |
if: always() | |
uses: ./ | |
continue-on-error: true | |
with: | |
version: "@gh-action-working-directory" | |
options: --invalid-option | |
- name: Check invalid arguments error code | |
if: always() && steps.invalid-arguments.outputs.exitcode != '3' | |
run: | | |
echo "::error::Darker should have exited with code 3" | |
exit 1 | |
- name: Test missing dependencies error | |
id: missing-deps | |
if: always() | |
uses: ./ | |
continue-on-error: true | |
with: | |
version: "@gh-action-working-directory" | |
options: --isort | |
src: test.py | |
- name: Check missing dependencies error code | |
if: always() && steps.missing-deps.outputs.exitcode != '4' | |
run: | | |
echo "::error::Darker should have exited with code 4" | |
exit 1 |