-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add documentation build folder to .gitignore * initial commit * Debugging checks.yml * Fix GitHub workflow setup * Adjust version check for project * fixing linting and type checking * fixing linting and type checking * fixing linting and type checking * fixing linting and type checking * fixing linting and type checking * adding artifacts directory * adding upload artifacts * adding upload artifacts * adding upload artifacts * pylint only errors --------- Co-authored-by: Nicola Coretti <[email protected]>
- Loading branch information
Showing
28 changed files
with
2,721 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Build & Publish | ||
|
||
on: | ||
workflow_call: | ||
secrets: | ||
PYPI_TOKEN: | ||
required: true | ||
|
||
jobs: | ||
|
||
cd-job: | ||
name: Continues Delivery | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Build Artifacts | ||
run: poetry build | ||
|
||
- name: PyPi Release | ||
env: | ||
POETRY_HTTP_BASIC_PYPI_USERNAME: "__token__" | ||
POETRY_HTTP_BASIC_PYPI_PASSWORD: "${{ secrets.PYPI_TOKEN }}" | ||
run: poetry publish | ||
|
||
- name: GitHub Release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: > | ||
gh release create ${GITHUB_REF_NAME} | ||
--title ${GITHUB_REF_NAME} | ||
dist/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: Check Release Tag | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
|
||
check-tag-version-job: | ||
|
||
name: Check Tag Version | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Check Tag Version | ||
# make sure the pushed/created tag matched the project version | ||
run: "[[ `poetry version --short` == ${{ github.ref_name }} ]]" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
name: Checks | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
|
||
version-check-job: | ||
name: Version Check | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Check Version(s) | ||
run: poetry run version-check version.py | ||
|
||
build-documentation-job: | ||
name: Build Documentation | ||
needs: [version-check-job] | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Build Documentation | ||
run: | | ||
poetry run python -m nox -s build-docs | ||
lint-job: | ||
name: Linting (Python-${{ matrix.python-version }}) | ||
needs: [version-check-job] | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.8", "3.9", "3.10", "3.11"] | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Run Tests | ||
run: poetry run nox -s lint | ||
|
||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: .lint.txt | ||
path: .lint.txt | ||
|
||
type-check-job: | ||
name: Type Checking (Python-${{ matrix.python-version }}) | ||
needs: [version-check-job] | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.8", "3.9", "3.10", "3.11"] | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Run Tests | ||
run: poetry run nox -s type-check | ||
|
||
tests-job: | ||
name: Tests (Python-${{ matrix.python-version }}, Exasol-${{ matrix.exasol-version}}) | ||
needs: [build-documentation-job, lint-job, type-check-job] | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ["3.8", "3.9", "3.10", "3.11"] | ||
exasol-version: ["7.1.9"] | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Calculate Test Coverage | ||
run: poetry run nox -s coverage -- -- --db-version ${{ matrix.exasol-version }} | ||
|
||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: .coverage | ||
path: .coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name: CI/CD | ||
|
||
on: | ||
push: | ||
tags: | ||
- '**' | ||
|
||
jobs: | ||
|
||
check-tag-version-job: | ||
name: Check Release Tag | ||
uses: ./.github/workflows/check-release-tag.yml | ||
|
||
ci-job: | ||
name: Checks | ||
needs: [ check-tag-version-job ] | ||
uses: ./.github/workflows/checks.yml | ||
|
||
cd-job: | ||
name: Continues Delivery | ||
needs: [ ci-job ] | ||
uses: ./.github/workflows/build-and-publish.yml | ||
secrets: | ||
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | ||
|
||
metrics: | ||
needs: [ ci-job ] | ||
uses: ./.github/workflows/report.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
branches-ignore: | ||
- "github-pages/*" | ||
- "gh-pages/*" | ||
- "main" | ||
- "master" | ||
pull_request: | ||
types: [opened, reopened] | ||
schedule: | ||
# “At 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru) | ||
- cron: "0 0 1/7 * *" | ||
|
||
jobs: | ||
|
||
ci-job: | ||
name: Checks | ||
uses: ./.github/workflows/checks.yml | ||
|
||
metrics: | ||
needs: [ ci-job ] | ||
uses: ./.github/workflows/report.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: Publish Documentation | ||
|
||
on: workflow_call | ||
|
||
jobs: | ||
|
||
documentation-job: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Build Documentation | ||
run: | | ||
poetry run python -m nox -s build-docs | ||
- name: Deploy | ||
uses: JamesIves/[email protected] | ||
with: | ||
branch: gh-pages | ||
folder: .html-documentation | ||
git-config-name: Github Action | ||
git-config-email: [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: PR-Merge | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'main' | ||
- 'master' | ||
|
||
jobs: | ||
|
||
ci-job: | ||
name: Checks | ||
uses: ./.github/workflows/checks.yml | ||
|
||
publish-docs: | ||
name: Publish Documentation | ||
uses: ./.github/workflows/gh-pages.yml | ||
|
||
metrics: | ||
needs: [ ci-job ] | ||
uses: ./.github/workflows/report.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: Status Report | ||
|
||
on: | ||
workflow_call: | ||
secrets: | ||
ALTERNATIVE_GITHUB_TOKEN: | ||
required: false | ||
|
||
jobs: | ||
|
||
report: | ||
name: Generate Status Report | ||
runs-on: ubuntu-latest | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.ALTERNATIVE_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} | ||
|
||
steps: | ||
- name: SCM Checkout | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Python & Poetry Environment | ||
uses: exasol/python-toolbox/.github/actions/[email protected] | ||
|
||
- name: Download Artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
path: ./artifacts | ||
|
||
- name: Copy Artifacts into Root Folder | ||
working-directory: ./artifacts | ||
run: | | ||
cp .coverage/.coverage ../ | ||
cp .lint.txt/.lint.txt ../ | ||
- name: Generate Report | ||
run: poetry run nox -s report -- -- --format json | tee metrics.json | ||
|
||
- name: Upload Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: metrics.json | ||
path: metrics.json | ||
|
||
- name: Generate GitHub Summary | ||
run: | | ||
echo -e "# Summary\n" >> $GITHUB_STEP_SUMMARY | ||
poetry run nox -s report -- -- --format markdown >> $GITHUB_STEP_SUMMARY | ||
echo -e "\n\n# Coverage\n" >> $GITHUB_STEP_SUMMARY | ||
poetry run coverage report -- --format markdown >> $GITHUB_STEP_SUMMARY | ||
echo -e "\n\n# Static Code Analysis\n" >> $GITHUB_STEP_SUMMARY | ||
cat .lint.txt >> $GITHUB_STEP_SUMMARY |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
.html-documentation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
default_stages: [ commit ] | ||
repos: | ||
|
||
- repo: local | ||
hooks: | ||
- id: code-format | ||
name: code-format | ||
types: [ python ] | ||
files: "pyproject.toml" | ||
pass_filenames: false | ||
language: system | ||
entry: poetry run nox -s fix | ||
|
||
- repo: local | ||
hooks: | ||
- id: type-check | ||
name: type-check | ||
types: [ python ] | ||
pass_filenames: false | ||
language: system | ||
entry: poetry run nox -s type-check | ||
|
||
- repo: local | ||
hooks: | ||
- id: lint | ||
name: lint | ||
types: [ python ] | ||
pass_filenames: false | ||
language: system | ||
entry: poetry run nox -s lint | ||
|
||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.4.0 | ||
hooks: | ||
- id: check-yaml | ||
- id: end-of-file-fixer | ||
- id: trailing-whitespace |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,3 @@ | ||
# Exasol Python Extension Common | ||
|
||
Content to be provided. |
Empty file.
File renamed without changes.
File renamed without changes.
Empty file.
Empty file.
Empty file.
Oops, something went wrong.