From 91f4f21b07b20a3e5e861de479364148f46b0d7e Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 13 Jan 2023 17:53:01 -0500 Subject: [PATCH 01/18] workflows, Makefile, src: experimental linting Signed-off-by: William Woodruff --- .github/workflows/ci.yml | 13 ------------- .github/workflows/lint.yml | 13 +++++++++++++ Makefile | 30 +++++++++++++++++------------- src/blight/tool.py | 2 +- 4 files changed, 31 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0470c5..5c6cfab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,19 +7,6 @@ on: pull_request: jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-python@v4 - with: - python-version: "3.7" - - - run: make dev - - - run: make lint - test: strategy: matrix: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..d5ffb65 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,13 @@ +name: Lint + +on: + push: + branches: + - master + pull_request: + +jobs: + lint: + uses: trailofbits/.github/.github/workflows/lint.yml@ww/reusable-demo + with: + python-version: "3.7" diff --git a/Makefile b/Makefile index 73e872f..a358bab 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,6 @@ +VENV := env +VENV_EXISTS := $(VENV)/pyvenv.cfg + ALL_PY_SRCS := $(shell find src -name '*.py') \ $(shell find test -name '*.py') @@ -5,36 +8,37 @@ ALL_PY_SRCS := $(shell find src -name '*.py') \ all: @echo "Run my targets individually!" -.PHONY: dev -dev: - test -d env || python -m venv env - . env/bin/activate && \ +$(VENV)/pyvenv.cfg: pyproject.toml + python -m venv env + . $(VENV)/bin/activate && \ pip install --upgrade pip setuptools && \ pip install -e .[dev] +.PHONY: dev +dev: $(VENV)/pyvenv.cfg + .PHONY: lint -lint: - . env/bin/activate && \ - black $(ALL_PY_SRCS) && \ - isort $(ALL_PY_SRCS) && \ +lint: $(VENV_EXISTS) + . $(VENV)/bin/activate && \ + black --check $(ALL_PY_SRCS) && \ + isort --check $(ALL_PY_SRCS) && \ flake8 $(ALL_PY_SRCS) && \ - mypy src && \ - git diff --exit-code + mypy src .PHONY: test test: - . env/bin/activate && \ + . $(VENV)/bin/activate && \ pytest --cov=blight test/ && \ python -m coverage report -m --fail-under 100 .PHONY: doc doc: - . env/bin/activate && \ + . $(VENV)/bin/activate && \ PYTHONWARNINGS='error::UserWarning' pdoc --force --html blight .PHONY: package package: - . env/bin/activate && \ + . $(VENV)/bin/activate && \ python -m build && \ twine upload --repository pypi dist/* diff --git a/src/blight/tool.py b/src/blight/tool.py index 3f69777..e1650da 100644 --- a/src/blight/tool.py +++ b/src/blight/tool.py @@ -22,7 +22,7 @@ CompilerStage, Lang, OptLevel, - Std + Std, ) from blight.exceptions import BlightError, BuildError, SkipRun from blight.protocols import CanonicalizedArgsProtocol, IndexedUndefinesProtocol, LangProtocol From 3a204ef7d7b71077670df068cd4343b09aa4ed89 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 13 Jan 2023 17:55:39 -0500 Subject: [PATCH 02/18] pyproject: fixup isort config Signed-off-by: William Woodruff --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 4383b0e..c6dfbc3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,7 @@ Source = "https://github.com/trailofbits/blight" line_length = 100 multi_line_output = 3 known_first_party = "blight" +include_trailing_comma = true [tool.black] line-length = 100 From c3a8970338240bc2b8cdfd5565d41c24cd50e079 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 13 Jan 2023 18:03:36 -0500 Subject: [PATCH 03/18] Makefile: clean up, add a `format` target Signed-off-by: William Woodruff --- Makefile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index a358bab..afa2f8c 100644 --- a/Makefile +++ b/Makefile @@ -25,19 +25,25 @@ lint: $(VENV_EXISTS) flake8 $(ALL_PY_SRCS) && \ mypy src +.PHONY: format +format: $(VENV_EXISTS) + . $(VENV_BIN)/activate && \ + black $(ALL_PY_SRCS) && \ + isort $(ALL_PY_SRCS) + .PHONY: test -test: +test: $(VENV_EXISTS) . $(VENV)/bin/activate && \ pytest --cov=blight test/ && \ python -m coverage report -m --fail-under 100 .PHONY: doc -doc: +doc: $(VENV_EXISTS) . $(VENV)/bin/activate && \ PYTHONWARNINGS='error::UserWarning' pdoc --force --html blight .PHONY: package -package: +package: $(VENV_EXISTS) . $(VENV)/bin/activate && \ python -m build && \ twine upload --repository pypi dist/* From 63707b115e4bcbd6c9d5df0ea010c298dcc13111 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Fri, 13 Jan 2023 18:08:02 -0500 Subject: [PATCH 04/18] Makefile: more genericisms Signed-off-by: William Woodruff --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index afa2f8c..8157cf2 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,10 @@ VENV := env VENV_EXISTS := $(VENV)/pyvenv.cfg +# Optionally overridden by the user/CI, to limit the installation to a specific +# subset of development dependencies. +BLIGHT_EXTRA := dev + ALL_PY_SRCS := $(shell find src -name '*.py') \ $(shell find test -name '*.py') @@ -12,7 +16,7 @@ $(VENV)/pyvenv.cfg: pyproject.toml python -m venv env . $(VENV)/bin/activate && \ pip install --upgrade pip setuptools && \ - pip install -e .[dev] + pip install -e .[$(BLIGHT_EXTRA)] .PHONY: dev dev: $(VENV)/pyvenv.cfg From a1eaba4bacb603d22f28bf4b4609db9a8819f5db Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 15:58:10 -0500 Subject: [PATCH 05/18] treewide: use ruff over flake8/isort Signed-off-by: William Woodruff --- .flake8 | 2 -- Makefile | 24 +++++++++++++++--------- pyproject.toml | 14 ++++++-------- test/actions/test_find_outputs.py | 1 - test/actions/test_skip_strip.py | 1 - test/test_action.py | 1 - test/test_tool.py | 1 - test/test_util.py | 1 - 8 files changed, 21 insertions(+), 24 deletions(-) delete mode 100644 .flake8 diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 7da1f96..0000000 --- a/.flake8 +++ /dev/null @@ -1,2 +0,0 @@ -[flake8] -max-line-length = 100 diff --git a/Makefile b/Makefile index 8157cf2..b05dfa6 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,13 @@ -VENV := env +# Optionally overriden by the user, if they're using a virtual environment manager. +VENV ?= env VENV_EXISTS := $(VENV)/pyvenv.cfg +# On Windows, venv scripts/shims are under `Scripts` instead of `bin`. +VENV_BIN := $(VENV)/bin +ifeq ($(OS),Windows_NT) + VENV_BIN := $(VENV)/Scripts +endif + # Optionally overridden by the user/CI, to limit the installation to a specific # subset of development dependencies. BLIGHT_EXTRA := dev @@ -14,7 +21,7 @@ all: $(VENV)/pyvenv.cfg: pyproject.toml python -m venv env - . $(VENV)/bin/activate && \ + . $(VENV_BIN)/activate && \ pip install --upgrade pip setuptools && \ pip install -e .[$(BLIGHT_EXTRA)] @@ -23,32 +30,31 @@ dev: $(VENV)/pyvenv.cfg .PHONY: lint lint: $(VENV_EXISTS) - . $(VENV)/bin/activate && \ + . $(VENV_BIN)/activate && \ black --check $(ALL_PY_SRCS) && \ - isort --check $(ALL_PY_SRCS) && \ - flake8 $(ALL_PY_SRCS) && \ + ruff $(ALL_PY_SRCS) && \ mypy src .PHONY: format format: $(VENV_EXISTS) . $(VENV_BIN)/activate && \ black $(ALL_PY_SRCS) && \ - isort $(ALL_PY_SRCS) + ruff --fix $(ALL_PY_SRCS) .PHONY: test test: $(VENV_EXISTS) - . $(VENV)/bin/activate && \ + . $(VENV_BIN)/activate && \ pytest --cov=blight test/ && \ python -m coverage report -m --fail-under 100 .PHONY: doc doc: $(VENV_EXISTS) - . $(VENV)/bin/activate && \ + . $(VENV_BIN)/activate && \ PYTHONWARNINGS='error::UserWarning' pdoc --force --html blight .PHONY: package package: $(VENV_EXISTS) - . $(VENV)/bin/activate && \ + . $(VENV_BIN)/activate && \ python -m build && \ twine upload --repository pypi dist/* diff --git a/pyproject.toml b/pyproject.toml index c6dfbc3..0fdb3de 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,9 +26,7 @@ requires-python = ">=3.7" [project.optional-dependencies] dev = [ - "flake8", "black", - "isort", "pytest", "pytest-cov", "pretend", @@ -36,6 +34,7 @@ dev = [ "twine", "pdoc3", "mypy", + "ruff", ] [project.scripts] @@ -56,15 +55,14 @@ Documentation = "https://trailofbits.github.io/blight/" Issues = "https://github.com/trailofbits/blight/issues" Source = "https://github.com/trailofbits/blight" -[tool.isort] -line_length = 100 -multi_line_output = 3 -known_first_party = "blight" -include_trailing_comma = true - [tool.black] line-length = 100 [tool.coverage.run] # don't attempt code coverage for the CLI entrypoints omit = ["src/blight/cli.py"] + +[tool.ruff] +line-length = 100 +select = ["E", "F", "W", "UP", "I", "N", "YTT"] +target-version = "py37" diff --git a/test/actions/test_find_outputs.py b/test/actions/test_find_outputs.py index c43015a..3f5c01a 100644 --- a/test/actions/test_find_outputs.py +++ b/test/actions/test_find_outputs.py @@ -2,7 +2,6 @@ import json import pytest - from blight.actions import FindOutputs from blight.actions.find_outputs import OutputKind from blight.tool import CC, INSTALL diff --git a/test/actions/test_skip_strip.py b/test/actions/test_skip_strip.py index 2986a01..8b67e6d 100644 --- a/test/actions/test_skip_strip.py +++ b/test/actions/test_skip_strip.py @@ -1,5 +1,4 @@ import pytest - from blight.actions import SkipStrip from blight.exceptions import SkipRun from blight.tool import CC, STRIP diff --git a/test/test_action.py b/test/test_action.py index 0afb51f..019d103 100644 --- a/test/test_action.py +++ b/test/test_action.py @@ -1,5 +1,4 @@ import pytest - from blight import action, tool diff --git a/test/test_tool.py b/test/test_tool.py index 5cac4fa..a622b7a 100644 --- a/test/test_tool.py +++ b/test/test_tool.py @@ -7,7 +7,6 @@ import pretend import pytest - from blight import tool, util from blight.enums import CodeModel, CompilerFamily, CompilerStage, Lang, OptLevel, Std from blight.exceptions import BlightError, BuildError diff --git a/test/test_util.py b/test/test_util.py index 6411c5f..655105c 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -3,7 +3,6 @@ import pretend import pytest - from blight import util from blight.actions import Record from blight.exceptions import BlightError From 1a0be5f13753e6a3ca546602f49cc754bd77671c Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:12:08 -0500 Subject: [PATCH 06/18] lint: experimenting Signed-off-by: William Woodruff --- .github/workflows/lint.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d5ffb65..e12c4e2 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,5 +9,7 @@ on: jobs: lint: uses: trailofbits/.github/.github/workflows/lint.yml@ww/reusable-demo + env: + RUFF_FORMAT: github with: python-version: "3.7" From afc75b3725fced108af5ee09726dcb71b6f4b56b Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:13:43 -0500 Subject: [PATCH 07/18] lint, Makefile: more experimenting Signed-off-by: William Woodruff --- .github/workflows/lint.yml | 2 -- Makefile | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e12c4e2..d5ffb65 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,5 @@ on: jobs: lint: uses: trailofbits/.github/.github/workflows/lint.yml@ww/reusable-demo - env: - RUFF_FORMAT: github with: python-version: "3.7" diff --git a/Makefile b/Makefile index b05dfa6..a766395 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ dev: $(VENV)/pyvenv.cfg lint: $(VENV_EXISTS) . $(VENV_BIN)/activate && \ black --check $(ALL_PY_SRCS) && \ - ruff $(ALL_PY_SRCS) && \ + RUFF_FORMAT=github ruff $(ALL_PY_SRCS) && \ mypy src .PHONY: format From 2382ca932ef17564ad53dcf7a2de29bad49c007f Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:16:34 -0500 Subject: [PATCH 08/18] Makefile: undo Signed-off-by: William Woodruff --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a766395..b05dfa6 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ dev: $(VENV)/pyvenv.cfg lint: $(VENV_EXISTS) . $(VENV_BIN)/activate && \ black --check $(ALL_PY_SRCS) && \ - RUFF_FORMAT=github ruff $(ALL_PY_SRCS) && \ + ruff $(ALL_PY_SRCS) && \ mypy src .PHONY: format From ccfdaac1deb4c55870d4d9b425916f9c0344395d Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:26:03 -0500 Subject: [PATCH 09/18] pyproject: enable some more ruff lints Signed-off-by: William Woodruff --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0fdb3de..41b7234 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,5 +64,5 @@ omit = ["src/blight/cli.py"] [tool.ruff] line-length = 100 -select = ["E", "F", "W", "UP", "I", "N", "YTT"] +select = ["E", "F", "W", "UP", "I", "N", "YTT", "BLE", "C4"] target-version = "py37" From 421a958e152cec605129ce3541b15e0076657f10 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:28:43 -0500 Subject: [PATCH 10/18] exceptions: ignore N818 This is named intentionally. Signed-off-by: William Woodruff --- src/blight/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blight/exceptions.py b/src/blight/exceptions.py index b1db2d6..b69d175 100644 --- a/src/blight/exceptions.py +++ b/src/blight/exceptions.py @@ -19,7 +19,7 @@ class BuildError(BlightError): pass -class SkipRun(BlightError): +class SkipRun(BlightError): # noqa: N818 """ A special error that `before_run` actions can raise to tell the underlying tool not to actually run. From 077276b3d18ee8cc3b53b9093b6d94f490362f7f Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:40:09 -0500 Subject: [PATCH 11/18] workflows: ci -> tests Signed-off-by: William Woodruff --- .github/workflows/{ci.yml => tests.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{ci.yml => tests.yml} (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/tests.yml similarity index 100% rename from .github/workflows/ci.yml rename to .github/workflows/tests.yml From d95d6da46b7f37fb3427b3267b63853d745320f8 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:42:57 -0500 Subject: [PATCH 12/18] pyproject: add ruff `SIM` rules Signed-off-by: William Woodruff --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 41b7234..7234040 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,5 +64,5 @@ omit = ["src/blight/cli.py"] [tool.ruff] line-length = 100 -select = ["E", "F", "W", "UP", "I", "N", "YTT", "BLE", "C4"] +select = ["E", "F", "W", "UP", "I", "N", "YTT", "BLE", "C4", "SIM"] target-version = "py37" From 56fed829064de6839d30b7a304cc2065a9a1e9ad Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:47:23 -0500 Subject: [PATCH 13/18] Makefile: put `ruff` before `black` for formatting ...on the theory that `black` provides our fixpoint. Signed-off-by: William Woodruff --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b05dfa6..e35ffa4 100644 --- a/Makefile +++ b/Makefile @@ -38,8 +38,8 @@ lint: $(VENV_EXISTS) .PHONY: format format: $(VENV_EXISTS) . $(VENV_BIN)/activate && \ - black $(ALL_PY_SRCS) && \ - ruff --fix $(ALL_PY_SRCS) + ruff --fix $(ALL_PY_SRCS) && \ + black $(ALL_PY_SRCS) .PHONY: test test: $(VENV_EXISTS) From 7239d9219f0d6e6628531cc90ff4c6db15cc74f9 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:48:05 -0500 Subject: [PATCH 14/18] Makefile: `format` -> `reformat` Signed-off-by: William Woodruff --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e35ffa4..f51b6b2 100644 --- a/Makefile +++ b/Makefile @@ -35,8 +35,8 @@ lint: $(VENV_EXISTS) ruff $(ALL_PY_SRCS) && \ mypy src -.PHONY: format -format: $(VENV_EXISTS) +.PHONY: reformat +reformat: $(VENV_EXISTS) . $(VENV_BIN)/activate && \ ruff --fix $(ALL_PY_SRCS) && \ black $(ALL_PY_SRCS) From cf9dd3ecfaff77d72e903704acf3bf922d703d75 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Wed, 18 Jan 2023 16:48:13 -0500 Subject: [PATCH 15/18] blight: `ruff --fix` Signed-off-by: William Woodruff --- src/blight/action.py | 2 +- src/blight/tool.py | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/blight/action.py b/src/blight/action.py index d70fe95..c81824c 100644 --- a/src/blight/action.py +++ b/src/blight/action.py @@ -82,7 +82,7 @@ class CompilerAction(CCAction, CXXAction): """ def _should_run_on(self, tool: Tool) -> bool: - return isinstance(tool, blight.tool.CC) or isinstance(tool, blight.tool.CXX) + return isinstance(tool, (blight.tool.CC, blight.tool.CXX)) class CPPAction(Action): diff --git a/src/blight/tool.py b/src/blight/tool.py index e1650da..38afa1b 100644 --- a/src/blight/tool.py +++ b/src/blight/tool.py @@ -580,10 +580,7 @@ def indexed_undefines(self: IndexedUndefinesProtocol) -> Dict[str, int]: continue # Both `-Uname` and `-U name` work in GCC and Clang. - if arg == "-U": - undefine = self.canonicalized_args[idx + 1] - else: - undefine = arg[2:] + undefine = self.canonicalized_args[idx + 1] if arg == "-U" else arg[2:] indexed_undefines[undefine] = idx @@ -604,10 +601,7 @@ def defines(self: IndexedUndefinesProtocol) -> List[Tuple[str, str]]: continue # Both `-Dname[=value]` and `-D name[=value]` work in GCC and Clang. - if arg == "-D": - define = self.canonicalized_args[idx + 1] - else: - define = arg[2:] + define = self.canonicalized_args[idx + 1] if arg == "-D" else arg[2:] components = define.split("=", 1) name = components[0] From a036e9af60f88f863e2401a6e8d814d79bbd84e8 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 19 Jan 2023 14:20:47 -0500 Subject: [PATCH 16/18] lint: update workflow ref Signed-off-by: William Woodruff --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d5ffb65..7c561bc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,6 +8,6 @@ on: jobs: lint: - uses: trailofbits/.github/.github/workflows/lint.yml@ww/reusable-demo + uses: trailofbits/.github/reusable-workflows/lint.yml@v0.0.1 with: python-version: "3.7" From 3e1d8ccdd71b157d5cb7cd8d02a6e4691ed914c0 Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 19 Jan 2023 14:24:37 -0500 Subject: [PATCH 17/18] lint: fix ref again Signed-off-by: William Woodruff --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7c561bc..f868eb1 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,6 +8,6 @@ on: jobs: lint: - uses: trailofbits/.github/reusable-workflows/lint.yml@v0.0.1 + uses: trailofbits/.github/workflows/lint.yml@v0.0.2 with: python-version: "3.7" From a4de5d518ca4a4ed2af2291f320dd7842d7ebdbb Mon Sep 17 00:00:00 2001 From: William Woodruff Date: Thu, 19 Jan 2023 14:25:13 -0500 Subject: [PATCH 18/18] lint: typo Signed-off-by: William Woodruff --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index f868eb1..d38eb4d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,6 +8,6 @@ on: jobs: lint: - uses: trailofbits/.github/workflows/lint.yml@v0.0.2 + uses: trailofbits/.github/.github/workflows/lint.yml@v0.0.2 with: python-version: "3.7"