diff --git a/.github/workflows/audit.yaml b/.github/workflows/audit.yaml index 3ba6f17..7fc3f22 100644 --- a/.github/workflows/audit.yaml +++ b/.github/workflows/audit.yaml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Install Ruby toolchain - uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0 + uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0 with: ruby-version: ".ruby-version" bundler-cache: true diff --git a/.github/workflows/block-merge.yaml b/.github/workflows/block-merge.yaml index 9a063b2..9d3c07c 100644 --- a/.github/workflows/block-merge.yaml +++ b/.github/workflows/block-merge.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@cc7a79fadbba6ed1d6f0efd70707e7b8bf7e6910 # v5.2.0 + - uses: mheap/github-action-required-labels@80a96a4863886addcbc9f681b5b295ba7f5424e1 # v5.3.0 with: mode: exactly count: 0 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 6543cac..f86e1f2 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -141,7 +141,7 @@ jobs: run: venv/bin/black --check --diff --verbose . - name: Run ruff - run: venv/bin/ruff --output-format=github . + run: venv/bin/ruff check --output-format=github . - name: Run mypy run: venv/bin/mypy . @@ -154,7 +154,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Install Ruby toolchain - uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0 + uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0 with: ruby-version: ".ruby-version" bundler-cache: true @@ -170,7 +170,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Setup Node.js runtime - uses: actions/setup-node@v4.0.1 + uses: actions/setup-node@v4.0.2 with: node-version: "lts/*" diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index e1c2add..9485f25 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -58,7 +58,7 @@ jobs: - name: Create GitHub release id: release - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.release_version.outputs.tag }} @@ -80,7 +80,7 @@ jobs: run: echo "${{ steps.release_version.outputs.tag }}" > artifacts/release-version - name: Upload artifacts - uses: actions/upload-artifact@v4.3.0 + uses: actions/upload-artifact@v4.3.1 with: name: artifacts path: artifacts @@ -127,7 +127,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Get release download URL - uses: actions/download-artifact@v4.1.1 + uses: actions/download-artifact@v4.1.3 with: name: artifacts path: artifacts @@ -273,7 +273,7 @@ jobs: --artifact "${{ steps.apple_codesigning.outputs.asset }}" - name: Upload release archive - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 if: runner.os == 'macOS' with: token: ${{ secrets.GITHUB_TOKEN }} @@ -287,7 +287,7 @@ jobs: artifactContentType: ${{ steps.apple_codesigning.outputs.content_type }} - name: Upload release signature - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 if: runner.os == 'macOS' with: token: ${{ secrets.GITHUB_TOKEN }} @@ -326,7 +326,7 @@ jobs: run: python3 gpg_sign.py "artichoke-nightly-${{ matrix.target }}" --artifact "${{ steps.build.outputs.asset }}" - name: Upload release archive - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.release_info.outputs.version }} @@ -339,7 +339,7 @@ jobs: artifactContentType: ${{ steps.build.outputs.content_type }} - name: Upload release signature - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.release_info.outputs.version }} @@ -368,7 +368,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: Get release download URL - uses: actions/download-artifact@v4.1.1 + uses: actions/download-artifact@v4.1.3 with: name: artifacts path: artifacts @@ -454,7 +454,7 @@ jobs: run: python3 gpg_sign.py "artichoke-nightly-${{ matrix.archive }}" --artifact "${{ steps.build.outputs.asset }}" - name: Upload release archive - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.release_info.outputs.version }} @@ -467,7 +467,7 @@ jobs: artifactContentType: ${{ steps.build.outputs.content_type }} - name: Upload release signature - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.release_info.outputs.version }} @@ -485,7 +485,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Get release download URL - uses: actions/download-artifact@v4.1.1 + uses: actions/download-artifact@v4.1.3 with: name: artifacts path: artifacts @@ -495,7 +495,7 @@ jobs: run: echo "release_tag=$(cat artifacts/release-version)" >> $GITHUB_OUTPUT - name: Publish release - uses: ncipollo/release-action@6c75be85e571768fa31b40abf38de58ba0397db5 # v1.13.0 + uses: ncipollo/release-action@2c591bcc8ecdcd2db72b97d6147f871fcd833ba5 # v1.14.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ steps.publish_info.outputs.release_tag }} diff --git a/Gemfile b/Gemfile index eabe607..56f6f30 100644 --- a/Gemfile +++ b/Gemfile @@ -4,5 +4,5 @@ source 'https://rubygems.org' gem 'bundler-audit', '~> 0.9', require: false gem 'rake', '>= 12.3.3', require: false -gem 'rubocop', '~> 1.60', require: false +gem 'rubocop', '~> 1.61', require: false gem 'rubocop-rake', '~> 0.6', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 1459830..f2852cb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,12 +11,13 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc + prism (0.24.0) racc (1.7.3) rainbow (3.1.1) rake (13.1.0) regexp_parser (2.9.0) rexml (3.2.6) - rubocop (1.60.2) + rubocop (1.61.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -27,8 +28,9 @@ GEM rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) + rubocop-ast (1.31.0) + parser (>= 3.3.0.4) + prism (>= 0.24.0) rubocop-rake (0.6.0) rubocop (~> 1.0) ruby-progressbar (1.13.0) @@ -41,7 +43,7 @@ PLATFORMS DEPENDENCIES bundler-audit (~> 0.9) rake (>= 12.3.3) - rubocop (~> 1.60) + rubocop (~> 1.61) rubocop-rake (~> 0.6) BUNDLED WITH diff --git a/Rakefile b/Rakefile index 62a0747..c6801b7 100644 --- a/Rakefile +++ b/Rakefile @@ -17,7 +17,7 @@ namespace :lint do desc 'Lint Python files with ruff' task python: :'venv:create' do sh 'venv/bin/mypy .' - sh 'venv/bin/ruff .' + sh 'venv/bin/ruff check .' end end @@ -28,7 +28,7 @@ namespace :format do desc 'Format Python files with black and ruff' task python: :'venv:create' do sh 'venv/bin/black .' - sh 'venv/bin/ruff --fix .' + sh 'venv/bin/ruff check --fix .' end desc 'Format text, YAML, and Markdown sources with prettier' @@ -44,7 +44,7 @@ namespace :fmt do desc 'Format Python files with black and ruff' task python: :'venv:create' do sh 'venv/bin/black .' - sh 'venv/bin/ruff --fix .' + sh 'venv/bin/ruff check --fix .' end desc 'Format text, YAML, and Markdown sources with prettier' diff --git a/dev-requirements.txt b/dev-requirements.txt index 76daf00..4d95c54 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -4,29 +4,29 @@ # # pip-compile --extra=dev --generate-hashes --output-file=dev-requirements.txt pyproject.toml # -black==24.1.1 \ - --hash=sha256:0269dfdea12442022e88043d2910429bed717b2d04523867a85dacce535916b8 \ - --hash=sha256:07204d078e25327aad9ed2c64790d681238686bce254c910de640c7cc4fc3aa6 \ - --hash=sha256:08b34e85170d368c37ca7bf81cf67ac863c9d1963b2c1780c39102187ec8dd62 \ - --hash=sha256:1a95915c98d6e32ca43809d46d932e2abc5f1f7d582ffbe65a5b4d1588af7445 \ - --hash=sha256:2588021038bd5ada078de606f2a804cadd0a3cc6a79cb3e9bb3a8bf581325a4c \ - --hash=sha256:2fa6a0e965779c8f2afb286f9ef798df770ba2b6cee063c650b96adec22c056a \ - --hash=sha256:34afe9da5056aa123b8bfda1664bfe6fb4e9c6f311d8e4a6eb089da9a9173bf9 \ - --hash=sha256:3897ae5a21ca132efa219c029cce5e6bfc9c3d34ed7e892113d199c0b1b444a2 \ - --hash=sha256:40657e1b78212d582a0edecafef133cf1dd02e6677f539b669db4746150d38f6 \ - --hash=sha256:48b5760dcbfe5cf97fd4fba23946681f3a81514c6ab8a45b50da67ac8fbc6c7b \ - --hash=sha256:5242ecd9e990aeb995b6d03dc3b2d112d4a78f2083e5a8e86d566340ae80fec4 \ - --hash=sha256:5cdc2e2195212208fbcae579b931407c1fa9997584f0a415421748aeafff1168 \ - --hash=sha256:5d7b06ea8816cbd4becfe5f70accae953c53c0e53aa98730ceccb0395520ee5d \ - --hash=sha256:7258c27115c1e3b5de9ac6c4f9957e3ee2c02c0b39222a24dc7aa03ba0e986f5 \ - --hash=sha256:854c06fb86fd854140f37fb24dbf10621f5dab9e3b0c29a690ba595e3d543024 \ - --hash=sha256:a21725862d0e855ae05da1dd25e3825ed712eaaccef6b03017fe0853a01aa45e \ - --hash=sha256:a83fe522d9698d8f9a101b860b1ee154c1d25f8a82ceb807d319f085b2627c5b \ - --hash=sha256:b3d64db762eae4a5ce04b6e3dd745dcca0fb9560eb931a5be97472e38652a161 \ - --hash=sha256:e298d588744efda02379521a19639ebcd314fba7a49be22136204d7ed1782717 \ - --hash=sha256:e2c8dfa14677f90d976f68e0c923947ae68fa3961d61ee30976c388adc0b02c8 \ - --hash=sha256:ecba2a15dfb2d97105be74bbfe5128bc5e9fa8477d8c46766505c1dda5883aac \ - --hash=sha256:fc1ec9aa6f4d98d022101e015261c056ddebe3da6a8ccfc2c792cbe0349d48b7 +black==24.2.0 \ + --hash=sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8 \ + --hash=sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8 \ + --hash=sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd \ + --hash=sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9 \ + --hash=sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31 \ + --hash=sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92 \ + --hash=sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f \ + --hash=sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29 \ + --hash=sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4 \ + --hash=sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693 \ + --hash=sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218 \ + --hash=sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a \ + --hash=sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23 \ + --hash=sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0 \ + --hash=sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982 \ + --hash=sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894 \ + --hash=sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540 \ + --hash=sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430 \ + --hash=sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b \ + --hash=sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2 \ + --hash=sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6 \ + --hash=sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d # via artichoke-nightly (pyproject.toml) click==8.1.7 \ --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ @@ -79,24 +79,24 @@ platformdirs==4.2.0 \ --hash=sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068 \ --hash=sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768 # via black -ruff==0.1.15 \ - --hash=sha256:1bab866aafb53da39c2cadfb8e1c4550ac5340bb40300083eb8967ba25481447 \ - --hash=sha256:2417e1cb6e2068389b07e6fa74c306b2810fe3ee3476d5b8a96616633f40d14f \ - --hash=sha256:3837ac73d869efc4182d9036b1405ef4c73d9b1f88da2413875e34e0d6919587 \ - --hash=sha256:5fe8d54df166ecc24106db7dd6a68d44852d14eb0729ea4672bb4d96c320b7df \ - --hash=sha256:6c629cf64bacfd136c07c78ac10a54578ec9d1bd2a9d395efbee0935868bf852 \ - --hash=sha256:6f0bfbb53c4b4de117ac4d6ddfd33aa5fc31beeaa21d23c45c6dd249faf9126f \ - --hash=sha256:6f8ad828f01e8dd32cc58bc28375150171d198491fc901f6f98d2a39ba8e3ff5 \ - --hash=sha256:86811954eec63e9ea162af0ffa9f8d09088bab51b7438e8b6488b9401863c25e \ - --hash=sha256:9405fa9ac0e97f35aaddf185a1be194a589424b8713e3b97b762336ec79ff807 \ - --hash=sha256:9a933dfb1c14ec7a33cceb1e49ec4a16b51ce3c20fd42663198746efc0427360 \ - --hash=sha256:abf4822129ed3a5ce54383d5f0e964e7fef74a41e48eb1dfad404151efc130a2 \ - --hash=sha256:b17b93c02cdb6aeb696effecea1095ac93f3884a49a554a9afa76bb125c114c1 \ - --hash=sha256:c66ec24fe36841636e814b8f90f572a8c0cb0e54d8b5c2d0e300d28a0d7bffec \ - --hash=sha256:ddb87643be40f034e97e97f5bc2ef7ce39de20e34608f3f829db727a93fb82c5 \ - --hash=sha256:e0d432aec35bfc0d800d4f70eba26e23a352386be3a6cf157083d18f6f5881c8 \ - --hash=sha256:f6dfa8c1b21c913c326919056c390966648b680966febcb796cc9d1aaab8564e \ - --hash=sha256:fd4025ac5e87d9b80e1f300207eb2fd099ff8200fa2320d7dc066a3f4622dc6b +ruff==0.3.0 \ + --hash=sha256:0886184ba2618d815067cf43e005388967b67ab9c80df52b32ec1152ab49f53a \ + --hash=sha256:128265876c1d703e5f5e5a4543bd8be47c73a9ba223fd3989d4aa87dd06f312f \ + --hash=sha256:19eacceb4c9406f6c41af806418a26fdb23120dfe53583df76d1401c92b7c14b \ + --hash=sha256:23dbb808e2f1d68eeadd5f655485e235c102ac6f12ad31505804edced2a5ae77 \ + --hash=sha256:2f7dbba46e2827dfcb0f0cc55fba8e96ba7c8700e0a866eb8cef7d1d66c25dcb \ + --hash=sha256:3ef655c51f41d5fa879f98e40c90072b567c666a7114fa2d9fe004dffba00932 \ + --hash=sha256:5da894a29ec018a8293d3d17c797e73b374773943e8369cfc50495573d396933 \ + --hash=sha256:755c22536d7f1889be25f2baf6fedd019d0c51d079e8417d4441159f3bcd30c2 \ + --hash=sha256:7deb528029bacf845bdbb3dbb2927d8ef9b4356a5e731b10eef171e3f0a85944 \ + --hash=sha256:9343690f95710f8cf251bee1013bf43030072b9f8d012fbed6ad702ef70d360a \ + --hash=sha256:a1f3ed501a42f60f4dedb7805fa8d4534e78b4e196f536bac926f805f0743d49 \ + --hash=sha256:b08b356d06a792e49a12074b62222f9d4ea2a11dca9da9f68163b28c71bf1dd4 \ + --hash=sha256:cc30a9053ff2f1ffb505a585797c23434d5f6c838bacfe206c0e6cf38c921a1e \ + --hash=sha256:d0d3d7ef3d4f06433d592e5f7d813314a34601e6c5be8481cccb7fa760aa243e \ + --hash=sha256:dd73fe7f4c28d317855da6a7bc4aa29a1500320818dd8f27df95f70a01b8171f \ + --hash=sha256:e1e0d4381ca88fb2b73ea0766008e703f33f460295de658f5467f6f229658c19 \ + --hash=sha256:e3a4a6d46aef0a84b74fcd201a4401ea9a6cd85614f6a9435f2d33dd8cefbf83 # via artichoke-nightly (pyproject.toml) stamina==24.2.0 \ --hash=sha256:4dbd8076d2cb4e228046833e4507af3406cc31b9b6046e8a6729ffde934b2526 \ @@ -106,9 +106,9 @@ tenacity==8.2.3 \ --hash=sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a \ --hash=sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c # via stamina -typing-extensions==4.9.0 \ - --hash=sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783 \ - --hash=sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd +typing-extensions==4.10.0 \ + --hash=sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475 \ + --hash=sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb # via mypy validators==0.22.0 \ --hash=sha256:61cf7d4a62bbae559f2e54aed3b000cea9ff3e2fdbe463f51179b92c58c9585a \ diff --git a/package-lock.json b/package-lock.json index d33eb81..7834cc2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,13 +9,13 @@ "version": "0.1.0", "license": "MIT", "devDependencies": { - "prettier": "^3.2.4" + "prettier": "^3.2.5" } }, "node_modules/prettier": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/package.json b/package.json index 169b11d..1dd78b3 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ ], "repository": "github:artichoke/nightly", "devDependencies": { - "prettier": "^3.2.4" + "prettier": "^3.2.5" }, "eslintConfig": { "env": { diff --git a/pyproject.toml b/pyproject.toml index f66a0d6..f8a502f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,9 +11,9 @@ requires-python = ">= 3.12" [project.optional-dependencies] dev = [ - "black==24.1.1", + "black==24.2.0", "mypy==1.8.0", - "ruff==0.1.15", + "ruff==0.3.0", ] [tool.black] @@ -43,5 +43,7 @@ ignore_missing_imports = true [tool.ruff] target-version = "py312" + +[tool.ruff.lint] select = ["ALL"] ignore = ["COM812", "D", "EM", "S603", "T201", "TRY003", "UP007"]