diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..11c8a30 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +version: 2 +updates: + # Maintain GitHub Action runners + - package-ecosystem: "github-actions" + directory: "/" + target-branch: dev + commit-message: + prefix: "[Dependabot]" + labels: + - Dependencies + assignees: + - Paebbels + - Umarcor + reviewers: + - Paebbels + - Umarcor + schedule: + interval: "daily" # Checks on Monday trough Friday. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 7a345ae..ac698f8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,8 +1,16 @@ # New Features + * tbd # Changes + * tbd # Bug Fixes + +* tbd + +---------- +# Related PRs: + * tbd diff --git a/.github/workflows/ArtifactCleanUp.yml b/.github/workflows/ArtifactCleanUp.yml index 1ddff51..3b4dd9d 100644 --- a/.github/workflows/ArtifactCleanUp.yml +++ b/.github/workflows/ArtifactCleanUp.yml @@ -45,12 +45,12 @@ jobs: - name: 🗑️ Delete package Artifacts if: ${{ ! startsWith(github.ref, 'refs/tags') }} - uses: geekyeggo/delete-artifact@v1 + uses: geekyeggo/delete-artifact@v2 with: name: ${{ inputs.package }} - name: 🗑️ Delete remaining Artifacts if: ${{ inputs.remaining != '' }} - uses: geekyeggo/delete-artifact@v1 + uses: geekyeggo/delete-artifact@v2 with: name: ${{ inputs.remaining }} diff --git a/.github/workflows/BuildTheDocs.yml b/.github/workflows/BuildTheDocs.yml index 5d49b03..d223e99 100644 --- a/.github/workflows/BuildTheDocs.yml +++ b/.github/workflows/BuildTheDocs.yml @@ -38,7 +38,7 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🛳️ Build documentation uses: buildthedocs/btd@v0 @@ -46,7 +46,7 @@ jobs: skip-deploy: true - name: 📤 Upload 'documentation' artifacts - uses: actions/upload-artifact@master + uses: actions/upload-artifact@v3 with: name: ${{ inputs.artifact }} path: doc/_build/html diff --git a/.github/workflows/CoverageCollection.yml b/.github/workflows/CoverageCollection.yml index e4d9174..d5c3757 100644 --- a/.github/workflows/CoverageCollection.yml +++ b/.github/workflows/CoverageCollection.yml @@ -62,10 +62,10 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🐍 Setup Python ${{ inputs.python_version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ inputs.python_version }} @@ -79,6 +79,7 @@ jobs: id: getVariables shell: python run: | + from os import environ from pathlib import Path from tomli import load as tomli_load @@ -110,8 +111,11 @@ jobs: else: print(f"File '{coverageRCFile}' not found.") - print(f"::set-output name=coverage_report_html_directory::{htmlDirectory}") - print(f"::set-output name=coverage_report_xml::{xmlFile}") + with open(environ['GITHUB_OUTPUT'], 'a', encoding='utf-8') as gho: + gho.write(f"""\ + coverage_report_html_directory={htmlDirectory} + coverage_report_xml={xmlFile} + """) print(f"DEBUG:\n html={htmlDirectory}\n xml={xmlFile}") - name: Collect coverage @@ -130,7 +134,7 @@ jobs: - name: 📤 Upload 'Coverage Report' artifact continue-on-error: true - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.artifact }} path: ${{ steps.getVariables.outputs.coverage_report_html_directory }} @@ -139,9 +143,9 @@ jobs: - name: 📊 Publish coverage at CodeCov continue-on-error: true - uses: codecov/codecov-action@v1 + uses: codecov/codecov-action@v3 with: - file: ${{ steps.getVariables.outputs.coverage_report_xml }} + files: ${{ steps.getVariables.outputs.coverage_report_xml }} flags: unittests env_vars: PYTHON diff --git a/.github/workflows/Package.yml b/.github/workflows/Package.yml index b16f2ca..1edc84b 100644 --- a/.github/workflows/Package.yml +++ b/.github/workflows/Package.yml @@ -48,10 +48,10 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🐍 Setup Python ${{ inputs.python_version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ inputs.python_version }} @@ -102,7 +102,7 @@ jobs: - name: 📤 Upload wheel artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.artifact }} path: dist/ diff --git a/.github/workflows/Parameters.yml b/.github/workflows/Parameters.yml index cb6d6da..2db2c26 100644 --- a/.github/workflows/Parameters.yml +++ b/.github/workflows/Parameters.yml @@ -65,6 +65,8 @@ jobs: id: params shell: python run: | + from os import environ + name = '${{ inputs.name }}' params = { 'python_version': '${{ inputs.python_version }}', @@ -76,7 +78,9 @@ jobs: 'doc': f'{name}-doc', } } - print(f'::set-output name=params::{params!s}') + + with open(environ['GITHUB_OUTPUT'], 'a', encoding='utf-8') as gho: + gho.write(f"params={params!s}\n") print("Parameters:") print(params) @@ -112,8 +116,9 @@ jobs: 'python': '3.11.0-alpha.3' if version == '3.11' else version } for system in systems - for version in (versions if system != 'msys2' else ['3.9']) + for version in (versions if system != 'msys2' else ['3.10']) ] - print(f'::set-output name=python_jobs::{jobs!s}') + with open(environ['GITHUB_OUTPUT'], 'a', encoding='utf-8') as gho: + gho.write(f"python_jobs={jobs!s}\n") print("Python jobs:") print(jobs) diff --git a/.github/workflows/PublishOnPyPI.yml b/.github/workflows/PublishOnPyPI.yml index 1475375..96a6cfa 100644 --- a/.github/workflows/PublishOnPyPI.yml +++ b/.github/workflows/PublishOnPyPI.yml @@ -52,13 +52,13 @@ jobs: steps: - name: 📥 Download artifacts '${{ inputs.artifact }}' from 'Package' job - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: ${{ inputs.artifact }} path: dist/ - name: 🐍 Setup Python ${{ inputs.python_version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ inputs.python_version }} diff --git a/.github/workflows/PublishTestResults.yml b/.github/workflows/PublishTestResults.yml index 5844e33..1d5bdb6 100644 --- a/.github/workflows/PublishTestResults.yml +++ b/.github/workflows/PublishTestResults.yml @@ -39,10 +39,10 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Download Artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: path: artifacts diff --git a/.github/workflows/PublishToGitHubPages.yml b/.github/workflows/PublishToGitHubPages.yml index 57ce6ec..e323193 100644 --- a/.github/workflows/PublishToGitHubPages.yml +++ b/.github/workflows/PublishToGitHubPages.yml @@ -48,24 +48,24 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 📥 Download artifacts '${{ inputs.doc }}' from 'BuildTheDocs' job - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: ${{ inputs.doc }} path: public - name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job if: ${{ inputs.coverage != '' }} - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: ${{ inputs.coverage }} path: public/coverage - name: 📥 Download artifacts '${{ inputs.typing }}' from 'StaticTypeCheck' job if: ${{ inputs.typing != '' }} - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: ${{ inputs.typing }} path: public/typing diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index cae3b0b..6d82182 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -39,9 +39,11 @@ jobs: RELEASE_VERSION=${GIT_TAG#v} RELEASE_DATETIME="$(date --utc '+%d.%m.%Y - %H:%M:%S')" # write to step outputs - echo ::set-output name=gitTag::${GIT_TAG} - echo ::set-output name=version::${RELEASE_VERSION} - echo ::set-output name=datetime::${RELEASE_DATETIME} + cat >> "$GITHUB_OUTPUT" << EOF + gitTag=${GIT_TAG} + version=${RELEASE_VERSION} + datetime=${RELEASE_DATETIME} + EOF - name: 📑 Create Release Page id: createReleasePage diff --git a/.github/workflows/StaticTypeCheck.yml b/.github/workflows/StaticTypeCheck.yml index 55568c9..c18f7a0 100644 --- a/.github/workflows/StaticTypeCheck.yml +++ b/.github/workflows/StaticTypeCheck.yml @@ -57,10 +57,10 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🐍 Setup Python ${{ inputs.python_version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ inputs.python_version }} @@ -76,7 +76,7 @@ jobs: - name: 📤 Upload 'Static Typing Report' artifact if: ${{ inputs.artifact != '' }} continue-on-error: true - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.artifact }} path: ${{ inputs.report }} diff --git a/.github/workflows/TestReleaser.yml b/.github/workflows/TestReleaser.yml index e1749e5..4311548 100644 --- a/.github/workflows/TestReleaser.yml +++ b/.github/workflows/TestReleaser.yml @@ -45,7 +45,7 @@ jobs: env: DOCKER_BUILDKIT: 1 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Build container image run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser @@ -62,7 +62,7 @@ jobs: Composite: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: echo "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt @@ -122,7 +122,7 @@ jobs: - Composite runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: echo "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt diff --git a/.github/workflows/UnitTesting.yml b/.github/workflows/UnitTesting.yml index db4375c..06a86bf 100644 --- a/.github/workflows/UnitTesting.yml +++ b/.github/workflows/UnitTesting.yml @@ -76,7 +76,7 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: '🟦 Setup MSYS2' if: matrix.system == 'msys2' @@ -88,7 +88,7 @@ jobs: - name: 🐍 Setup Python ${{ matrix.python }} if: matrix.system != 'msys2' - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python }} @@ -124,7 +124,7 @@ jobs: - name: 📤 Upload 'TestReport.xml' artifact if: inputs.artifact != '' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ inputs.artifact }}-${{ matrix.system }}-${{ matrix.python }} path: TestReport.xml diff --git a/.github/workflows/VerifyDocs.yml b/.github/workflows/VerifyDocs.yml index 45b8f23..18c0ee4 100644 --- a/.github/workflows/VerifyDocs.yml +++ b/.github/workflows/VerifyDocs.yml @@ -39,10 +39,10 @@ jobs: steps: - name: ⏬ Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: 🐍 Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ inputs.python_version }} diff --git a/with-post-step/action.yml b/with-post-step/action.yml index 12aec6c..8e78a8c 100644 --- a/with-post-step/action.yml +++ b/with-post-step/action.yml @@ -37,6 +37,6 @@ inputs: default: POST runs: - using: 'node12' + using: 'node16' main: 'main.js' post: 'main.js' diff --git a/with-post-step/main.js b/with-post-step/main.js index 0fa6d9e..45caf18 100644 --- a/with-post-step/main.js +++ b/with-post-step/main.js @@ -25,6 +25,7 @@ * * https://github.com/actions/runner/issues/1478 * * ================================================================================================================== */ const { spawn } = require("child_process"); +const fs = require('fs'); function run(cmdline) { var args = cmdline.split(" "); @@ -41,6 +42,6 @@ const key = process.env.INPUT_KEY.toUpperCase(); if ( process.env[`STATE_${key}`] !== undefined ) { // Are we in the 'post' step? run(process.env.INPUT_POST); } else { // Otherwise, this is the main step - console.log(`::save-state name=${key}::true`); + fs.appendFileSync(process.env.GITHUB_STATE, `${key}=true`); run(process.env.INPUT_MAIN); }