mirror of
https://github.com/pyTooling/Actions.git
synced 2026-02-18 05:56:57 +08:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0ad308283 | ||
|
|
562b28ee34 | ||
|
|
8cfda1f21a | ||
|
|
457870d760 | ||
|
|
df3d45363b | ||
|
|
6ba0204549 | ||
|
|
7a7976677e | ||
|
|
4579381b78 | ||
|
|
14ac6c6386 | ||
|
|
18357ec213 | ||
|
|
4220a50041 |
2
.github/workflows/ArtifactCleanUp.yml
vendored
2
.github/workflows/ArtifactCleanUp.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/BuildTheDocs.yml
vendored
2
.github/workflows/BuildTheDocs.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/CoverageCollection.yml
vendored
2
.github/workflows/CoverageCollection.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
22
.github/workflows/Package.yml
vendored
22
.github/workflows/Package.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
@@ -72,18 +72,32 @@ jobs:
|
|||||||
if: inputs.requirements == ''
|
if: inputs.requirements == ''
|
||||||
run: python -m build --wheel
|
run: python -m build --wheel
|
||||||
|
|
||||||
|
# build (not isolated)
|
||||||
|
|
||||||
|
- name: 🔧 [build] Install dependencies for packaging and release
|
||||||
|
if: inputs.requirements == 'no-isolation'
|
||||||
|
run: python -m pip install build
|
||||||
|
|
||||||
|
- name: 🔨 [build] Build Python package (source distribution)
|
||||||
|
if: inputs.requirements == 'no-isolation'
|
||||||
|
run: python -m build --no-isolation --sdist
|
||||||
|
|
||||||
|
- name: 🔨 [build] Build Python package (binary distribution - wheel)
|
||||||
|
if: inputs.requirements == 'no-isolation'
|
||||||
|
run: python -m build --no-isolation --wheel
|
||||||
|
|
||||||
# setuptools
|
# setuptools
|
||||||
|
|
||||||
- name: 🔧 [setuptools] Install dependencies for packaging and release
|
- name: 🔧 [setuptools] Install dependencies for packaging and release
|
||||||
if: inputs.requirements != ''
|
if: inputs.requirements != '' && inputs.requirements != 'no-isolation'
|
||||||
run: python -m pip install ${{ inputs.requirements }}
|
run: python -m pip install ${{ inputs.requirements }}
|
||||||
|
|
||||||
- name: 🔨 [setuptools] Build Python package (source distribution)
|
- name: 🔨 [setuptools] Build Python package (source distribution)
|
||||||
if: inputs.requirements != ''
|
if: inputs.requirements != '' && inputs.requirements != 'no-isolation'
|
||||||
run: python setup.py sdist
|
run: python setup.py sdist
|
||||||
|
|
||||||
- name: 🔨 [setuptools] Build Python package (binary distribution - wheel)
|
- name: 🔨 [setuptools] Build Python package (binary distribution - wheel)
|
||||||
if: inputs.requirements != ''
|
if: inputs.requirements != '' && inputs.requirements != 'no-isolation'
|
||||||
run: python setup.py bdist_wheel
|
run: python setup.py bdist_wheel
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/Parameters.yml
vendored
2
.github/workflows/Parameters.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/PublishOnPyPI.yml
vendored
2
.github/workflows/PublishOnPyPI.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/PublishTestResults.yml
vendored
2
.github/workflows/PublishTestResults.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/PublishToGitHubPages.yml
vendored
2
.github/workflows/PublishToGitHubPages.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/Release.yml
vendored
2
.github/workflows/Release.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/StaticTypeCheck.yml
vendored
2
.github/workflows/StaticTypeCheck.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
2
.github/workflows/TestReleaser.yml
vendored
2
.github/workflows/TestReleaser.yml
vendored
@@ -3,7 +3,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
35
.github/workflows/UnitTesting.yml
vendored
35
.github/workflows/UnitTesting.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
@@ -34,6 +34,20 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
default: '-r tests/requirements.txt'
|
default: '-r tests/requirements.txt'
|
||||||
type: string
|
type: string
|
||||||
|
pacboy:
|
||||||
|
description: 'MSYS2 dependencies to be installed through pacboy (pacman).'
|
||||||
|
required: false
|
||||||
|
default: >-
|
||||||
|
python-pip:p
|
||||||
|
python-wheel:p
|
||||||
|
python-coverage:p
|
||||||
|
python-lxml:p
|
||||||
|
type: string
|
||||||
|
mingw_requirements:
|
||||||
|
description: 'Override Python dependencies to be installed through pip on MSYS2 (MINGW64) only.'
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
type: string
|
||||||
unittest_directory:
|
unittest_directory:
|
||||||
description: 'Path to the directory containing unit tests.'
|
description: 'Path to the directory containing unit tests.'
|
||||||
required: false
|
required: false
|
||||||
@@ -70,11 +84,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
msystem: MINGW64
|
msystem: MINGW64
|
||||||
update: true
|
update: true
|
||||||
pacboy: >-
|
pacboy: ${{ inputs.pacboy }}
|
||||||
python-pip:p
|
|
||||||
python-wheel:p
|
|
||||||
python-coverage:p
|
|
||||||
python-lxml:p
|
|
||||||
|
|
||||||
- name: 🐍 Setup Python ${{ matrix.python }}
|
- name: 🐍 Setup Python ${{ matrix.python }}
|
||||||
if: matrix.system != 'msys2'
|
if: matrix.system != 'msys2'
|
||||||
@@ -85,13 +95,20 @@ jobs:
|
|||||||
- name: ⚙️ Update pip
|
- name: ⚙️ Update pip
|
||||||
run: python -m pip install -U pip
|
run: python -m pip install -U pip
|
||||||
|
|
||||||
- name: ⚙️ Install wheel
|
- name: 🔧 Install wheel and pip dependencies
|
||||||
if: matrix.system != 'msys2'
|
if: matrix.system != 'msys2'
|
||||||
run: |
|
run: |
|
||||||
python -m pip install -U wheel
|
python -m pip install -U wheel
|
||||||
|
python -m pip install ${{ inputs.requirements }}
|
||||||
|
|
||||||
- name: 🔧 Install dependencies
|
- name: 🔧 Install pip dependencies
|
||||||
run: python -m pip install ${{ inputs.requirements }}
|
if: matrix.system == 'msys2'
|
||||||
|
run: |
|
||||||
|
if [ 'x${{ inputs.mingw_requirements }}' != 'x' ]; then
|
||||||
|
python -m pip install ${{ inputs.mingw_requirements }}
|
||||||
|
else
|
||||||
|
python -m pip install ${{ inputs.requirements }}
|
||||||
|
fi
|
||||||
|
|
||||||
- name: ☑ Run unit tests
|
- name: ☑ Run unit tests
|
||||||
if: matrix.system == 'windows'
|
if: matrix.system == 'windows'
|
||||||
|
|||||||
2
.github/workflows/VerifyDocs.yml
vendored
2
.github/workflows/VerifyDocs.yml
vendored
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
@@ -46,6 +46,13 @@ jobs:
|
|||||||
jobs: ${{ needs.Params.outputs.python_jobs }}
|
jobs: ${{ needs.Params.outputs.python_jobs }}
|
||||||
# Optional
|
# Optional
|
||||||
requirements: '-r tests/requirements.txt'
|
requirements: '-r tests/requirements.txt'
|
||||||
|
pacboy: >-
|
||||||
|
python-pip:p
|
||||||
|
python-wheel:p
|
||||||
|
python-coverage:p
|
||||||
|
python-lxml:p
|
||||||
|
mingw_requirements: '-r tests/requirements.mingw.txt'
|
||||||
|
unittest_directory: 'tests/unit'
|
||||||
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
|
artifact: ${{ fromJson(needs.Params.outputs.params).artifacts.unittesting }}
|
||||||
|
|
||||||
Coverage:
|
Coverage:
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
BIN
ExamplePipeline_light.png
Normal file
BIN
ExamplePipeline_light.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 135 KiB |
@@ -88,9 +88,11 @@ This repository provides 10+ Reusable Workflows based on the CI pipelines of the
|
|||||||
By combining them, Python packages can be continuously tested and released along with Sphinx documentation sites, to GitHub Releases, GitHub Pages and PyPI.
|
By combining them, Python packages can be continuously tested and released along with Sphinx documentation sites, to GitHub Releases, GitHub Pages and PyPI.
|
||||||
Optionally, coverage and static type check reports can be gathered.
|
Optionally, coverage and static type check reports can be gathered.
|
||||||
|
|
||||||
[](ExamplePipeline.png)
|
[](ExamplePipeline_dark.png)
|
||||||
|
|
||||||
As shown in the screenshot above, the expected order is:
|
[](ExamplePipeline_light.png)
|
||||||
|
|
||||||
|
As shown in the screenshots above, the expected order is:
|
||||||
|
|
||||||
- Global:
|
- Global:
|
||||||
- [Parameters](.github/workflows/Parameters.yml): a workaround for the limitations to handle global variables in
|
- [Parameters](.github/workflows/Parameters.yml): a workaround for the limitations to handle global variables in
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# Unai Martinez-Corral #
|
# Unai Martinez-Corral #
|
||||||
# #
|
# #
|
||||||
# ==================================================================================================================== #
|
# ==================================================================================================================== #
|
||||||
# Copyright 2020-2021 The pyTooling Authors #
|
# Copyright 2020-2022 The pyTooling Authors #
|
||||||
# #
|
# #
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
# Licensed under the Apache License, Version 2.0 (the "License"); #
|
||||||
# you may not use this file except in compliance with the License. #
|
# you may not use this file except in compliance with the License. #
|
||||||
|
|||||||
Reference in New Issue
Block a user