diff --git a/.github/workflows/check-pr.yml b/.github/workflows/check-pr.yml new file mode 100644 index 00000000..2262dce0 --- /dev/null +++ b/.github/workflows/check-pr.yml @@ -0,0 +1,53 @@ +name: Check PR +on: + pull_request: + +jobs: + main: + name: Run checks for specification and conformance + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.11 + cache: 'pip' + - run: pip install bikeshed + + - name: Install Poetry + uses: abatilo/actions-poetry@v3 + + - name: Setup a local virtual environment + run: | + poetry config virtualenvs.create true --local + poetry config virtualenvs.in-project true --local + - uses: actions/cache@v3 + name: Define a cache for the virtual environment based on the dependencies lock file + with: + path: ./.venv + key: venv-${{ hashFiles('poetry.lock') }} + + - name: Install Poetry dependencies + run: | + cd conformance + poetry install + + - name: Generate conformance report + run: | + cd conformance + poetry run generate-report + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Build conformance page + run: | + cd conformance/conformance_page + npm ci + npm run build + + - name: Run bikeshed + run: bikeshed spec