diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 61df9bd..54b6fa8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -293,28 +293,6 @@ jobs: - run: uv tool install ruff - run: ruff --version - test-tilde-expansion-tool-dirs: - runs-on: selfhosted-ubuntu-arm64 - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Setup with cache - uses: ./ - with: - tool-bin-dir: "~/tool-bin-dir" - tool-dir: "~/tool-dir" - - name: "Check if tool dirs are expanded" - run: | - if ! echo "$PATH" | grep -q "/home/ubuntu/tool-bin-dir"; then - echo "PATH does not contain /home/ubuntu/tool-bin-dir: $PATH" - exit 1 - fi - if [ "$UV_TOOL_DIR" != "/home/ubuntu/tool-dir" ]; then - echo "UV_TOOL_DIR does not contain /home/ubuntu/tool-dir: $UV_TOOL_DIR" - exit 1 - fi - test-python-version: runs-on: ${{ matrix.os }} strategy: @@ -507,7 +485,7 @@ jobs: strategy: matrix: enable-cache: ["true", "false", "auto"] - os: ["ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest"] + os: ["ubuntu-latest", "windows-latest"] steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: @@ -525,7 +503,7 @@ jobs: strategy: matrix: enable-cache: ["true", "false", "auto"] - os: ["ubuntu-latest", "selfhosted-ubuntu-arm64", "windows-latest"] + os: ["ubuntu-latest", "windows-latest"] needs: test-setup-cache steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -547,7 +525,7 @@ jobs: CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} shell: bash - name: Cache was not hit - if: ${{ matrix.enable-cache == 'false' || (matrix.enable-cache == 'auto' && matrix.os == 'selfhosted-ubuntu-arm64') }} + if: ${{ matrix.enable-cache == 'false' }} run: | if [ "$CACHE_HIT" == "true" ]; then exit 1 @@ -724,8 +702,6 @@ jobs: expected-cache-dir: "/home/runner/work/_temp/setup-uv-cache" - os: windows-latest expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache" - - os: selfhosted-ubuntu-arm64 - expected-cache-dir: "/home/ubuntu/.cache/uv" runs-on: ${{ matrix.inputs.os }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -782,95 +758,6 @@ jobs: fi shell: bash - test-setup-cache-local: - runs-on: selfhosted-ubuntu-arm64 - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Setup with cache - uses: ./ - with: - enable-cache: true - cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local - cache-local-path: /tmp/uv-cache - - run: uv sync - working-directory: __tests__/fixtures/uv-project - test-restore-cache-local: - runs-on: selfhosted-ubuntu-arm64 - needs: test-setup-cache-local - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Restore with cache - id: restore - uses: ./ - with: - enable-cache: true - cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local - cache-local-path: /tmp/uv-cache - - name: Cache was hit - run: | - if [ "$CACHE_HIT" != "true" ]; then - exit 1 - fi - env: - CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} - - run: uv sync - working-directory: __tests__/fixtures/uv-project - - test-tilde-expansion-cache-local-path: - runs-on: selfhosted-ubuntu-arm64 - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Create cache directory - run: mkdir -p ~/uv-cache - shell: bash - - name: Setup with cache - uses: ./ - with: - cache-local-path: ~/uv-cache/cache-local-path - - run: uv sync - working-directory: __tests__/fixtures/uv-project - - test-tilde-expansion-cache-dependency-glob: - runs-on: selfhosted-ubuntu-arm64 - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - - name: Create cache directory - run: mkdir -p ~/uv-cache - shell: bash - - name: Create cache dependency glob file - run: touch ~/uv-cache.glob - shell: bash - - name: Setup with cache - uses: ./ - with: - enable-cache: true - cache-local-path: ~/uv-cache/cache-dependency-glob - cache-dependency-glob: "~/uv-cache.glob" - - run: uv sync - working-directory: __tests__/fixtures/uv-project - - cleanup-tilde-expansion-tests: - needs: - - test-tilde-expansion-cache-local-path - - test-tilde-expansion-cache-dependency-glob - if: always() - runs-on: selfhosted-ubuntu-arm64 - steps: - - name: Remove cache directory - run: rm -rf ~/uv-cache - shell: bash - - name: Remove cache dependency glob file - run: rm -f ~/uv-cache.glob - shell: bash - test-no-python-version: runs-on: ubuntu-latest steps: @@ -1061,8 +948,6 @@ jobs: expected-python-dir: "/home/runner/work/_temp/uv-python-dir" - os: windows-latest expected-python-dir: "D:\\a\\_temp\\uv-python-dir" - - os: selfhosted-ubuntu-arm64 - expected-python-dir: "/home/ubuntu/.local/share/uv/python" runs-on: ${{ matrix.inputs.os }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -1120,7 +1005,6 @@ jobs: - test-with-explicit-token - test-uvx - test-tool-install - - test-tilde-expansion-tool-dirs - test-python-version - test-activate-environment - test-activate-environment-custom-path @@ -1139,11 +1023,6 @@ jobs: - test-restore-cache-save-cache-false - test-setup-cache-restore-cache-false - test-restore-cache-restore-cache-false - - test-setup-cache-local - - test-restore-cache-local - - test-tilde-expansion-cache-local-path - - test-tilde-expansion-cache-dependency-glob - - cleanup-tilde-expansion-tests - test-no-python-version - test-custom-manifest-file - test-absolute-path diff --git a/__tests__/utils/inputs.test.ts b/__tests__/utils/inputs.test.ts index 7d58c5c..d552ed3 100644 --- a/__tests__/utils/inputs.test.ts +++ b/__tests__/utils/inputs.test.ts @@ -87,6 +87,57 @@ describe("cacheDependencyGlob", () => { }); }); +describe("tool directories", () => { + beforeEach(() => { + jest.resetModules(); + jest.clearAllMocks(); + mockInputs = {}; + process.env.HOME = "/home/testuser"; + }); + + afterEach(() => { + process.env.HOME = ORIGINAL_HOME; + }); + + it("expands tilde for tool-bin-dir and tool-dir", async () => { + mockInputs["working-directory"] = "/workspace"; + mockInputs["tool-bin-dir"] = "~/tool-bin-dir"; + mockInputs["tool-dir"] = "~/tool-dir"; + + const { toolBinDir, toolDir } = await import("../../src/utils/inputs"); + + expect(toolBinDir).toBe("/home/testuser/tool-bin-dir"); + expect(toolDir).toBe("/home/testuser/tool-dir"); + }); +}); + +describe("cacheLocalPath", () => { + beforeEach(() => { + jest.resetModules(); + jest.clearAllMocks(); + mockInputs = {}; + process.env.HOME = "/home/testuser"; + }); + + afterEach(() => { + process.env.HOME = ORIGINAL_HOME; + }); + + it("expands tilde in cache-local-path", async () => { + mockInputs["working-directory"] = "/workspace"; + mockInputs["cache-local-path"] = "~/uv-cache/cache-local-path"; + + const { CacheLocalSource, cacheLocalPath } = await import( + "../../src/utils/inputs" + ); + + expect(cacheLocalPath).toEqual({ + path: "/home/testuser/uv-cache/cache-local-path", + source: CacheLocalSource.Input, + }); + }); +}); + describe("venvPath", () => { beforeEach(() => { jest.resetModules();