This commit is contained in:
Unai Martinez-Corral
2022-11-08 00:04:43 +00:00
committed by GitHub
17 changed files with 79 additions and 41 deletions

18
.github/dependabot.yml vendored Normal file
View File

@@ -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.

View File

@@ -1,8 +1,16 @@
# New Features # New Features
* tbd * tbd
# Changes # Changes
* tbd * tbd
# Bug Fixes # Bug Fixes
* tbd
----------
# Related PRs:
* tbd * tbd

View File

@@ -45,12 +45,12 @@ jobs:
- name: 🗑️ Delete package Artifacts - name: 🗑️ Delete package Artifacts
if: ${{ ! startsWith(github.ref, 'refs/tags') }} if: ${{ ! startsWith(github.ref, 'refs/tags') }}
uses: geekyeggo/delete-artifact@v1 uses: geekyeggo/delete-artifact@v2
with: with:
name: ${{ inputs.package }} name: ${{ inputs.package }}
- name: 🗑️ Delete remaining Artifacts - name: 🗑️ Delete remaining Artifacts
if: ${{ inputs.remaining != '' }} if: ${{ inputs.remaining != '' }}
uses: geekyeggo/delete-artifact@v1 uses: geekyeggo/delete-artifact@v2
with: with:
name: ${{ inputs.remaining }} name: ${{ inputs.remaining }}

View File

@@ -38,7 +38,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 🛳️ Build documentation - name: 🛳️ Build documentation
uses: buildthedocs/btd@v0 uses: buildthedocs/btd@v0
@@ -46,7 +46,7 @@ jobs:
skip-deploy: true skip-deploy: true
- name: 📤 Upload 'documentation' artifacts - name: 📤 Upload 'documentation' artifacts
uses: actions/upload-artifact@master uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: doc/_build/html path: doc/_build/html

View File

@@ -62,10 +62,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ inputs.python_version }} python-version: ${{ inputs.python_version }}
@@ -79,6 +79,7 @@ jobs:
id: getVariables id: getVariables
shell: python shell: python
run: | run: |
from os import environ
from pathlib import Path from pathlib import Path
from tomli import load as tomli_load from tomli import load as tomli_load
@@ -110,8 +111,11 @@ jobs:
else: else:
print(f"File '{coverageRCFile}' not found.") print(f"File '{coverageRCFile}' not found.")
print(f"::set-output name=coverage_report_html_directory::{htmlDirectory}") with open(environ['GITHUB_OUTPUT'], 'a', encoding='utf-8') as gho:
print(f"::set-output name=coverage_report_xml::{xmlFile}") gho.write(f"""\
coverage_report_html_directory={htmlDirectory}
coverage_report_xml={xmlFile}
""")
print(f"DEBUG:\n html={htmlDirectory}\n xml={xmlFile}") print(f"DEBUG:\n html={htmlDirectory}\n xml={xmlFile}")
- name: Collect coverage - name: Collect coverage
@@ -130,7 +134,7 @@ jobs:
- name: 📤 Upload 'Coverage Report' artifact - name: 📤 Upload 'Coverage Report' artifact
continue-on-error: true continue-on-error: true
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: ${{ steps.getVariables.outputs.coverage_report_html_directory }} path: ${{ steps.getVariables.outputs.coverage_report_html_directory }}
@@ -139,9 +143,9 @@ jobs:
- name: 📊 Publish coverage at CodeCov - name: 📊 Publish coverage at CodeCov
continue-on-error: true continue-on-error: true
uses: codecov/codecov-action@v1 uses: codecov/codecov-action@v3
with: with:
file: ${{ steps.getVariables.outputs.coverage_report_xml }} files: ${{ steps.getVariables.outputs.coverage_report_xml }}
flags: unittests flags: unittests
env_vars: PYTHON env_vars: PYTHON

View File

@@ -48,10 +48,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ inputs.python_version }} python-version: ${{ inputs.python_version }}
@@ -102,7 +102,7 @@ jobs:
- name: 📤 Upload wheel artifact - name: 📤 Upload wheel artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: dist/ path: dist/

View File

@@ -65,6 +65,8 @@ jobs:
id: params id: params
shell: python shell: python
run: | run: |
from os import environ
name = '${{ inputs.name }}' name = '${{ inputs.name }}'
params = { params = {
'python_version': '${{ inputs.python_version }}', 'python_version': '${{ inputs.python_version }}',
@@ -76,7 +78,9 @@ jobs:
'doc': f'{name}-doc', '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("Parameters:")
print(params) print(params)
@@ -112,8 +116,9 @@ jobs:
'python': '3.11.0-alpha.3' if version == '3.11' else version 'python': '3.11.0-alpha.3' if version == '3.11' else version
} }
for system in systems 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("Python jobs:")
print(jobs) print(jobs)

View File

@@ -52,13 +52,13 @@ jobs:
steps: steps:
- name: 📥 Download artifacts '${{ inputs.artifact }}' from 'Package' job - name: 📥 Download artifacts '${{ inputs.artifact }}' from 'Package' job
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: dist/ path: dist/
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ inputs.python_version }} python-version: ${{ inputs.python_version }}

View File

@@ -39,10 +39,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Download Artifacts - name: Download Artifacts
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
path: artifacts path: artifacts

View File

@@ -48,24 +48,24 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 📥 Download artifacts '${{ inputs.doc }}' from 'BuildTheDocs' job - name: 📥 Download artifacts '${{ inputs.doc }}' from 'BuildTheDocs' job
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: ${{ inputs.doc }} name: ${{ inputs.doc }}
path: public path: public
- name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job - name: 📥 Download artifacts '${{ inputs.coverage }}' from 'Coverage' job
if: ${{ inputs.coverage != '' }} if: ${{ inputs.coverage != '' }}
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: ${{ inputs.coverage }} name: ${{ inputs.coverage }}
path: public/coverage path: public/coverage
- name: 📥 Download artifacts '${{ inputs.typing }}' from 'StaticTypeCheck' job - name: 📥 Download artifacts '${{ inputs.typing }}' from 'StaticTypeCheck' job
if: ${{ inputs.typing != '' }} if: ${{ inputs.typing != '' }}
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: ${{ inputs.typing }} name: ${{ inputs.typing }}
path: public/typing path: public/typing

View File

@@ -39,9 +39,11 @@ jobs:
RELEASE_VERSION=${GIT_TAG#v} RELEASE_VERSION=${GIT_TAG#v}
RELEASE_DATETIME="$(date --utc '+%d.%m.%Y - %H:%M:%S')" RELEASE_DATETIME="$(date --utc '+%d.%m.%Y - %H:%M:%S')"
# write to step outputs # write to step outputs
echo ::set-output name=gitTag::${GIT_TAG} cat >> "$GITHUB_OUTPUT" << EOF
echo ::set-output name=version::${RELEASE_VERSION} gitTag=${GIT_TAG}
echo ::set-output name=datetime::${RELEASE_DATETIME} version=${RELEASE_VERSION}
datetime=${RELEASE_DATETIME}
EOF
- name: 📑 Create Release Page - name: 📑 Create Release Page
id: createReleasePage id: createReleasePage

View File

@@ -57,10 +57,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 🐍 Setup Python ${{ inputs.python_version }} - name: 🐍 Setup Python ${{ inputs.python_version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ inputs.python_version }} python-version: ${{ inputs.python_version }}
@@ -76,7 +76,7 @@ jobs:
- name: 📤 Upload 'Static Typing Report' artifact - name: 📤 Upload 'Static Typing Report' artifact
if: ${{ inputs.artifact != '' }} if: ${{ inputs.artifact != '' }}
continue-on-error: true continue-on-error: true
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.artifact }} name: ${{ inputs.artifact }}
path: ${{ inputs.report }} path: ${{ inputs.report }}

View File

@@ -45,7 +45,7 @@ jobs:
env: env:
DOCKER_BUILDKIT: 1 DOCKER_BUILDKIT: 1
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Build container image - name: Build container image
run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser
@@ -62,7 +62,7 @@ jobs:
Composite: Composite:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: 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 - 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 - Composite
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: 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 - run: echo "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt

View File

@@ -76,7 +76,7 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: '🟦 Setup MSYS2' - name: '🟦 Setup MSYS2'
if: matrix.system == 'msys2' if: matrix.system == 'msys2'
@@ -88,7 +88,7 @@ jobs:
- name: 🐍 Setup Python ${{ matrix.python }} - name: 🐍 Setup Python ${{ matrix.python }}
if: matrix.system != 'msys2' if: matrix.system != 'msys2'
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ matrix.python }} python-version: ${{ matrix.python }}
@@ -124,7 +124,7 @@ jobs:
- name: 📤 Upload 'TestReport.xml' artifact - name: 📤 Upload 'TestReport.xml' artifact
if: inputs.artifact != '' if: inputs.artifact != ''
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: ${{ inputs.artifact }}-${{ matrix.system }}-${{ matrix.python }} name: ${{ inputs.artifact }}-${{ matrix.system }}-${{ matrix.python }}
path: TestReport.xml path: TestReport.xml

View File

@@ -39,10 +39,10 @@ jobs:
steps: steps:
- name: ⏬ Checkout repository - name: ⏬ Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: 🐍 Setup Python - name: 🐍 Setup Python
uses: actions/setup-python@v2 uses: actions/setup-python@v4
with: with:
python-version: ${{ inputs.python_version }} python-version: ${{ inputs.python_version }}

View File

@@ -37,6 +37,6 @@ inputs:
default: POST default: POST
runs: runs:
using: 'node12' using: 'node16'
main: 'main.js' main: 'main.js'
post: 'main.js' post: 'main.js'

View File

@@ -25,6 +25,7 @@
* * https://github.com/actions/runner/issues/1478 * * * https://github.com/actions/runner/issues/1478 *
* ================================================================================================================== */ * ================================================================================================================== */
const { spawn } = require("child_process"); const { spawn } = require("child_process");
const fs = require('fs');
function run(cmdline) { function run(cmdline) {
var args = cmdline.split(" "); 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? if ( process.env[`STATE_${key}`] !== undefined ) { // Are we in the 'post' step?
run(process.env.INPUT_POST); run(process.env.INPUT_POST);
} else { // Otherwise, this is the main step } 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); run(process.env.INPUT_MAIN);
} }