From e79687522e8a2bccc1f8ebc92fbde02b18c4da00 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Mon, 2 Oct 2023 15:17:56 -0400 Subject: [PATCH] Run `make lint` job in GitHub Actions This is a ground-up rewrite of the "lint" job instead of porting it from CircleCI. It will be much faster since it doesn't try to spin up a Docker container and work through our various unnecessary caching layers. It does literally the bare minimum to run lints. The CircleCI lint job needs to remain for now because it's super intertwined with everything else. --- .github/workflows/ci.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..2faae04871 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,30 @@ +name: CI +on: [push, pull_request] + +defaults: + run: + shell: bash + +jobs: + lint: + runs-on: ubuntu-latest + container: ubuntu:focal + steps: + - name: Install Git + run: | + apt-get update && apt-get install --yes git + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install --yes --no-install-recommends \ + build-essential python3-virtualenv python3-dev enchant file apache2-dev + virtualenv .venv + # TODO: this should be one step, but there are too many conflicting dependencies + ./.venv/bin/pip install -r securedrop/requirements/python3/test-requirements.txt + ./.venv/bin/pip install -r securedrop/requirements/python3/requirements.txt + ./.venv/bin/pip install -r securedrop/requirements/python3/develop-requirements.txt + - name: Run lint + run: | + git config --global --add safe.directory $GITHUB_WORKSPACE + source .venv/bin/activate + make lint