summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-01-05 10:38:41 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-01-05 10:39:17 +0000
commitd6d80a17444c90259c5bfdacb84c61e6bfece655 (patch)
tree157bff98bd572acf0b64cd5d478b0bdac87a37ae /.github
parentReleasing debian version 2.1.2-4. (diff)
downloadpendulum-d6d80a17444c90259c5bfdacb84c61e6bfece655.tar.xz
pendulum-d6d80a17444c90259c5bfdacb84c61e6bfece655.zip
Merging upstream version 3.0.0~a1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github')
-rw-r--r--.github/FUNDING.yml1
-rw-r--r--.github/ISSUE_TEMPLATE/---bug-report.md31
-rw-r--r--.github/ISSUE_TEMPLATE/---documentation.md22
-rw-r--r--.github/ISSUE_TEMPLATE/---everything-else.md19
-rw-r--r--.github/ISSUE_TEMPLATE/---feature-request.md23
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md15
-rw-r--r--.github/workflows/release.yml79
-rw-r--r--.github/workflows/tests.yml76
8 files changed, 266 insertions, 0 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..fca881b
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1 @@
+github: [sdispater]
diff --git a/.github/ISSUE_TEMPLATE/---bug-report.md b/.github/ISSUE_TEMPLATE/---bug-report.md
new file mode 100644
index 0000000..1f8b618
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/---bug-report.md
@@ -0,0 +1,31 @@
+---
+name: "\U0001F41E Bug Report"
+about: Did you find a bug?
+title: ''
+labels: 'Bug'
+assignees: ''
+
+---
+
+<!--
+ Hi there! Thank you for discovering and submitting an issue.
+
+ Before you submit this; let's make sure of a few things.
+ Please make sure the following boxes are ticked if they are correct.
+ If not, please try and fulfill these first.
+-->
+
+<!-- Checked checkbox should look like this: [x] -->
+- [ ] I am on the [latest](https://github.com/sdispater/pendulum/releases/latest) Pendulum version.
+- [ ] I have searched the [issues](https://github.com/sdispater/pendulum/issues) of this repo and believe that this is not a duplicate.
+
+<!--
+ Once those are done, if you're able to fill in the following list with your information,
+ it'd be very helpful to whoever handles the issue.
+-->
+
+- **OS version and name**: <!-- Replace with version + name -->
+- **Pendulum version**: <!-- Replace with version -->
+
+## Issue
+<!-- Now feel free to write your issue, but please be descriptive! Thanks again 🙌 ❤️ -->
diff --git a/.github/ISSUE_TEMPLATE/---documentation.md b/.github/ISSUE_TEMPLATE/---documentation.md
new file mode 100644
index 0000000..0d4ac41
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/---documentation.md
@@ -0,0 +1,22 @@
+---
+name: "\U0001F4DA Documentation"
+about: Did you find errors, problems, or anything unintelligible in the docs (https://pendulum.eustace.io/docs)?
+title: ''
+labels: 'Documentation'
+assignees: ''
+
+---
+
+<!--
+ Hi there! Thank you for discovering and submitting an issue with our documentation.
+
+ Before you submit this; let's make sure of a few things.
+ Please make sure the following boxes are ticked if they are correct.
+ If not, please try and fulfill these first.
+-->
+
+<!-- Checked checkbox should look like this: [x] -->
+- [ ] I have searched the [issues](https://github.com/sdispater/pendulum/issues) of this repo and believe that this is not a duplicate.
+
+## Issue
+<!-- Now feel free to write your issue, but please be descriptive! Thanks again 🙌 ❤️ -->
diff --git a/.github/ISSUE_TEMPLATE/---everything-else.md b/.github/ISSUE_TEMPLATE/---everything-else.md
new file mode 100644
index 0000000..1fc60fa
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/---everything-else.md
@@ -0,0 +1,19 @@
+---
+name: "\U0001F5C3 Everything Else"
+about: For questions and issues that do not fall in any of the other categories. This
+ can include questions about Pendulum's roadmap.
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+<!-- Describe your question and issue here. This space is meant to be used for general questions that are neither bugs, feature requests, nor documentation issues. A good example would be a question regarding Pendulum's roadmap, for example.
+
+
+<!-- Checked checkbox should look like this: [x] -->
+- [ ] I have searched the [issues](https://github.com/sdispater/pendulum/issues) of this repo and believe that this is not a duplicate.
+- [ ] I have searched the [documentation](https://pendulum.eustace.io/docs/) and believe that my question is not covered.
+
+## Issue
+<!-- Now feel free to write your issue, but please be descriptive! Thanks again 🙌 ❤️ -->
diff --git a/.github/ISSUE_TEMPLATE/---feature-request.md b/.github/ISSUE_TEMPLATE/---feature-request.md
new file mode 100644
index 0000000..4605055
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/---feature-request.md
@@ -0,0 +1,23 @@
+---
+name: "\U0001F381 Feature Request"
+about: Do you have ideas for new features and improvements?
+title: ''
+labels: 'Feature'
+assignees: ''
+
+---
+
+<!--
+ Hi there! Thank you for wanting to make Pendulum better.
+
+ Before you submit this; let's make sure of a few things.
+ Please make sure the following boxes are ticked if they are correct.
+ If not, please try and fulfill these first.
+-->
+
+<!-- Checked checkbox should look like this: [x] -->
+- [ ] I have searched the [issues](https://github.com/sdispater/pendulum/issues) of this repo and believe that this is not a duplicate.
+- [ ] I have searched the [documentation](https://pendulum.eustace.io/docs/) and believe that my question is not covered.
+
+## Feature Request
+<!-- Now feel free to write your idea for improvement. Thanks again 🙌 ❤️ -->
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000..4c0ce41
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,15 @@
+## Pull Request Check List
+
+<!--
+This is just a reminder about the most common mistakes. Please make sure that you tick all *appropriate* boxes. But please read our [contribution guide](https://python-poetry.org/docs/contributing/) at least once, it will save you unnecessary review cycles!
+-->
+
+- [ ] Added **tests** for changed code.
+- [ ] Updated **documentation** for changed code.
+
+<!--
+**Note**: If your Pull Request introduces a new feature or changes the current behavior, it should be based
+on the `develop` branch. If it's a bug fix or only a documentation update, it should be based on the `master` branch.
+
+If you have *any* questions to *any* of the points above, just **submit and ask**! This checklist is here to *help* you, not to deter you from contributing!
+-->
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..59062ae
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,79 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - '*.*.*'
+
+jobs:
+
+ build:
+ name: Build wheels on ${{ matrix.os }}
+ runs-on: ${{ matrix.os }}-latest
+ strategy:
+ matrix:
+ os: [ ubuntu, windows, macos ]
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Build wheels
+ uses: pypa/cibuildwheel@v2.10.1
+ env:
+ CIBW_PROJECT_REQUIRES_PYTHON: ">=3.7"
+ with:
+ package-dir: .
+ output-dir: dist
+
+ - uses: actions/upload-artifact@v3
+ with:
+ name: dist
+ path: ./dist/*
+
+ Release:
+ needs: [ build ]
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+
+ - name: Download artifacts
+ uses: actions/download-artifact@v3
+ with:
+ name: dist
+ path: dist
+
+ - name: Install Poetry
+ run: |
+ curl -fsS https://install.python-poetry.org | python - -y
+
+ - name: Update PATH
+ run: echo "$HOME/.local/bin" >> $GITHUB_PATH
+
+ - name: Build sdist
+ run: poetry build --format sdist
+
+ - name: Check distributions
+ run: |
+ ls -la dist
+
+ - name: Check Version
+ id: check-version
+ run: |
+ [[ "${GITHUB_REF#refs/tags/}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]] \
+ || echo ::set-output name=prerelease::true
+
+ - name: Create Release
+ uses: ncipollo/release-action@v1
+ with:
+ artifacts: "dist/*"
+ token: ${{ secrets.GITHUB_TOKEN }}
+ draft: false
+ prerelease: steps.check-version.outputs.prerelease == 'true'
+
+ - name: Publish to PyPI
+ env:
+ POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }}
+ run: |
+ poetry publish
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..341859e
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,76 @@
+name: Tests
+
+on:
+ push:
+ paths-ignore:
+ - 'docs/**'
+ branches:
+ - master
+ pull_request:
+ paths-ignore:
+ - 'docs/**'
+ branches:
+ - '**'
+
+jobs:
+ Tests:
+ name: ${{ matrix.os }} / ${{ matrix.python-version }}
+ runs-on: ${{ matrix.os }}-latest
+ strategy:
+ matrix:
+ os: [Ubuntu, MacOS, Windows]
+ python-version: [3.7, 3.8, 3.9, "3.10"]
+ defaults:
+ run:
+ shell: bash
+
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up Python ${{ matrix.python-version }}
+ uses: actions/setup-python@v4
+ with:
+ python-version: ${{ matrix.python-version }}
+
+ - name: Get full Python version
+ id: full-python-version
+ run: |
+ echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
+
+ - name: Install poetry
+ run: |
+ curl -fsS https://install.python-poetry.org | python - --preview -y
+
+ - name: Update PATH
+ if: ${{ matrix.os != 'Windows' }}
+ run: echo "$HOME/.local/bin" >> $GITHUB_PATH
+
+ - name: Update Path for Windows
+ if: ${{ matrix.os == 'Windows' }}
+ run: echo "$APPDATA\Python\Scripts" >> $GITHUB_PATH
+
+ - name: Configure poetry
+ run: poetry config virtualenvs.in-project true
+
+ - name: Set up cache
+ uses: actions/cache@v3
+ id: cache
+ with:
+ path: .venv
+ key: venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
+
+ - name: Ensure cache is healthy
+ # MacOS does not come with `timeout` command out of the box
+ if: steps.cache.outputs.cache-hit == 'true' && matrix.os != 'MacOS'
+ run: timeout 10s poetry run pip --version || rm -rf .venv
+
+ - name: Install dependencies
+ run: poetry install --only main --only test -vvv
+
+ - name: Test Pure Python
+ run: |
+ PENDULUM_EXTENSIONS=0 poetry run pytest -q tests
+
+ - name: Test
+ run: |
+ poetry run pytest -q tests