-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Increased the timeout for the TestU01 installation, and only capture output if not in the workflow. Uses the pypa action with trusted publishing for publishing the package (on TestPyPI for now).
- Loading branch information
1 parent
666e5b9
commit c1880e5
Showing
5 changed files
with
285 additions
and
61 deletions.
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,213 @@ | ||
name: main | ||
|
||
on: [push] | ||
|
||
jobs: | ||
setup: | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Install dependencies | ||
run: make ci-setup | ||
- name: Cache venv | ||
id: cache-venv | ||
uses: actions/cache@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
|
||
lint: | ||
runs-on: ubuntu-22.04 | ||
needs: [setup] | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Run the linter | ||
run: | | ||
source .venv/bin/activate | ||
make lint-ci | ||
type-check: | ||
runs-on: ubuntu-22.04 | ||
needs: [setup] | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Run the type-checker | ||
run: | | ||
source .venv/bin/activate | ||
make type-check-ci | ||
test: | ||
runs-on: ubuntu-22.04 | ||
needs: [lint,type-check] | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Run the test suite and coverage | ||
run: | | ||
source .venv/bin/activate | ||
make coverage-ci | ||
make doctest-ci | ||
docs: | ||
runs-on: ubuntu-22.04 | ||
needs: [lint,type-check] | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Build the docs | ||
run: | | ||
source .venv/bin/activate | ||
make docs-ci | ||
upload-docs: | ||
if: success() && github.ref == 'refs/heads/main' | ||
needs: [test,docs] | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Build docs for publishing | ||
run: | | ||
source .venv/bin/activate | ||
make pages-ci | ||
- name: Upload artifact | ||
uses: actions/upload-pages-artifact@v3 | ||
with: | ||
path: docs/build/public | ||
|
||
pages: | ||
needs: [upload-docs] | ||
if: success() && github.ref == 'refs/heads/main' | ||
permissions: | ||
pages: write | ||
id-token: write | ||
environment: | ||
name: github-pages | ||
url: ${{ steps.deployment.outputs.page_url }} | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Publish to pages | ||
id: deployment | ||
uses: actions/deploy-pages@v4 | ||
|
||
build: | ||
needs: [test,docs] | ||
if: success() && github.ref == 'refs/heads/main' | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Restore venv | ||
id: cache-venv-restore | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: .venv | ||
key: ${{ runner.os }}-venv | ||
- name: Build the package | ||
run: | | ||
source .venv/bin/activate | ||
make build-ci | ||
- name: Upload build | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: package-build | ||
path: ./dist/* | ||
|
||
publish: | ||
needs: [build] | ||
if: success() && startsWith(github.ref, 'refs/tags') | ||
runs-on: ubuntu-22.04 | ||
environment: | ||
name: testpypi | ||
url: https://test.pypi.org/p/crypto-condor | ||
permissions: | ||
contents: write | ||
id-token: write | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Setup Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
cache: "pip" | ||
- name: Download build | ||
uses: actions/download-artifact@v3 | ||
with: | ||
# By omitting the name we are downloading all the artifacts | ||
path: ./dist/ | ||
- name: Publish the package | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
repository-url: https://test.pypi.org/legacy/ | ||
|
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
Oops, something went wrong.