Files
William Woodruff a84a2d863a Refactor into a composite action (#9)
* workflows/ci: lint at Python 3.7

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: Python 3.7 concessions

Signed-off-by: William Woodruff <william@trailofbits.com>

* Makefile: move `black` up

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: begin rewriting as composite

WIP.

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: plumb inputs

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: plumb environment

Signed-off-by: William Woodruff <william@trailofbits.com>

* Dockerfile, action.yml: remove old Docker code

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: set working-directory for each step

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: remove working-directory settings

These are wrong; we don't want to override the working directory like this.

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: add an environment selftest

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: fix args

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: support virtual environments

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: add a selftest for venvs

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: fix env handling

Can't really be null, since we unconditionally populate variables.

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: debugging support

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: debug

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: debugging

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: debugging

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: don't run pip-audit through `python -m`

Conflicts with virtual environments.

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: actually assert outputs

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: set an internal output containing the table

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: another testing approach

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: make the output base64

...to avoid newlines, which break ::set-output

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: decode

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: round-trip back to string

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: docs

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: test the selftest, fully

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: missing IDs

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: debug

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: make it pass

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: bump pip in venv

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: install wheel too

Sigh.

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: push venv handling into the action's YAML

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: install pip-audit into a virtual environment, if requested

Temporary workaround?

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.yml: docs

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: return to `python -m pip_audit ...`

Signed-off-by: William Woodruff <william@trailofbits.com>

* action: add a `local` setting, clean up

Signed-off-by: William Woodruff <william@trailofbits.com>

* README: ToC, documentation

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: remove debugging

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: test `local`

Signed-off-by: William Woodruff <william@trailofbits.com>

* test: add a pyproject test

Signed-off-by: William Woodruff <william@trailofbits.com>

* workflows/selftest: add a pyproject selftest

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: fix key

Signed-off-by: William Woodruff <william@trailofbits.com>

* action.py: gate debug prints correctly

Signed-off-by: William Woodruff <william@trailofbits.com>

* selftest: drop no-deps for pyproject test

Not supported yet, see https://github.com/trailofbits/pip-audit/issues/305.

Signed-off-by: William Woodruff <william@trailofbits.com>

* README: tweak troubleshooting help

Signed-off-by: William Woodruff <william@trailofbits.com>

* meta: add LICENSE, sections to README

Signed-off-by: William Woodruff <william@trailofbits.com>
2022-06-16 14:35:53 -04:00

18 lines
440 B
Makefile

.PHONY: all
all:
@echo "Run my targets individually!"
env/pyvenv.cfg: dev-requirements.txt
python -m venv env
./env/bin/python -m pip install --upgrade pip
./env/bin/python -m pip install --requirement dev-requirements.txt
.PHONY: dev
dev: env/pyvenv.cfg
.PHONY: lint
lint: env/pyvenv.cfg action.py
./env/bin/python -m black action.py
./env/bin/python -m isort action.py
./env/bin/python -m flake8 --max-line-length 100 action.py