Resolve latest version instead of downloading latest release (#178) #432
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" | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: "20" | |
- run: | | |
npm install | |
- run: | | |
npm run all | |
- name: Make sure no changes from linters are detected | |
run: | | |
git diff --exit-code | |
test-default-version: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, macos-14] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest version | |
uses: ./ | |
- run: uv sync | |
working-directory: __tests__/fixtures/uv-project | |
test-specific-version: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
uv-version: ["0.3.0", "0.3.2", "0.3", "0.3.x", ">=0.3.0"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install version ${{ matrix.uv-version }} | |
uses: ./ | |
with: | |
version: ${{ matrix.uv-version }} | |
- run: uv sync | |
working-directory: __tests__/fixtures/uv-project | |
test-semver-range: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install version 0.3 | |
id: setup-uv | |
uses: ./ | |
with: | |
version: "0.3" | |
- name: Correct version gets installed | |
run: | | |
if [ "$UV_VERSION" != "0.3.5" ]; then | |
exit 1 | |
fi | |
env: | |
UV_VERSION: ${{ steps.setup-uv.outputs.uv-version }} | |
test-checksum: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
checksum: | |
["4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd"] | |
exclude: | |
- os: macos-latest | |
checksum: "4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd" | |
include: | |
- os: macos-latest | |
checksum: "a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Checksum matches expected | |
uses: ./ | |
with: | |
version: "0.3.2" | |
checksum: ${{ matrix.checksum }} | |
test-with-explicit-token: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install default version | |
uses: ./ | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- run: uv sync | |
working-directory: __tests__/fixtures/uv-project | |
test-uvx: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install default version | |
uses: ./ | |
- run: uvx ruff --version | |
test-tool-install: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
[ | |
ubuntu-latest, | |
macos-latest, | |
macos-14, | |
windows-latest, | |
] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install default version | |
uses: ./ | |
- run: uv tool install ruff | |
- run: ruff --version | |
test-tilde-expansion-tool-dirs: | |
runs-on: selfhosted-ubuntu-arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- 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: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.12", "3.13t"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install latest version | |
uses: ./ | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Verify UV_PYTHON is set to correct version | |
run: | | |
if [ "$UV_PYTHON" != "${{ matrix.python-version }}" ]; then | |
exit 1 | |
fi | |
- run: uv sync | |
working-directory: __tests__/fixtures/uv-project |