mirror of
https://github.com/servo/servo.git
synced 2025-06-04 07:35:36 +00:00
This allows us to use `uv` for: 1. Installing a pinned Python version 2. Installing the dependency packages using `uv`'s pip compatible interface. 4. Bootstrapping `mach` without a Python installion on the host, using `uv run` This change also introduces a new 'composite' GitHub action to setup python in the different CI workflows. There is no support for externally managed python installations and virtual environments. These could be added in the future. Fixes #34095, #34547 Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
name: Lint
|
|
on:
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
SHELL: /bin/bash
|
|
SCCACHE_GHA_ENABLED: "true"
|
|
# Increment this to purge the cache (https://github.com/mozilla/sccache/blob/main/docs/GHA.md)
|
|
SCCACHE_GHA_VERSION: 2
|
|
RUSTC_WRAPPER: "sccache"
|
|
CCACHE: "sccache"
|
|
CARGO_INCREMENTAL: 0
|
|
|
|
jobs:
|
|
lint:
|
|
name: Lint
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
if: github.event_name != 'pull_request_target'
|
|
with:
|
|
fetch-depth: 2 # This is necessary for `test-tidy`.
|
|
# This is necessary to checkout the pull request if this run was triggered via a
|
|
# `pull_request_target` event.
|
|
- uses: actions/checkout@v4
|
|
if: github.event_name == 'pull_request_target'
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
fetch-depth: 2 # This is necessary for `test-tidy`.
|
|
- name: Run sccache-cache
|
|
uses: mozilla-actions/sccache-action@v0.0.6
|
|
- name: Set LIBCLANG_PATH env # needed for bindgen in mozangle
|
|
run: echo "LIBCLANG_PATH=/usr/lib/llvm-14/lib" >> $GITHUB_ENV
|
|
- name: Setup Python
|
|
uses: ./.github/actions/setup-python
|
|
- name: Install taplo
|
|
uses: baptiste0928/cargo-install@v3
|
|
with:
|
|
crate: taplo-cli
|
|
locked: true
|
|
- name: Install cargo-deny
|
|
uses: baptiste0928/cargo-install@v3
|
|
with:
|
|
crate: cargo-deny
|
|
locked: true
|
|
- name: Bootstrap dependencies
|
|
run: |
|
|
sudo apt update
|
|
python3 ./mach bootstrap
|
|
# TODO: Do GitHub anotaions
|
|
- name: Clippy
|
|
run: |
|
|
python3 ./mach clippy --use-crown --locked -- -- --deny warnings
|
|
- name: Tidy
|
|
run: python3 ./mach test-tidy --no-progress --all
|