explain more #13
Workflow file for this run
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
name: Linux Testing | ||
on: | ||
push: | ||
branches: [ main ] | ||
pull_request: | ||
branches: [ main ] | ||
jobs: | ||
unit-tests: | ||
strategy: | ||
matrix: | ||
os: | ||
- runs-on: ubuntu-latest | ||
python-version: | ||
- "3.9" | ||
- "3.10" | ||
- "3.11" | ||
- "3.12" | ||
runs-on: ${{ matrix.os.runs-on }} | ||
steps: | ||
- name: Check out source code | ||
uses: actions/checkout@v2 | ||
with: | ||
# Get enough history for the tags we get next to be meaningful. 0 | ||
# means all history. | ||
fetch-depth: "0" | ||
# Checkout head of the branch of the PR, or the exact revision | ||
# specified for non-PR builds. | ||
ref: "${{ github.event.pull_request.head.sha || github.sha }}" | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Use pip cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~\AppData\Local\pip\Cache | ||
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
- name: fix Debian | ||
run: sudo apt-get install -y python3-pip | ||
- name: Install dependencies | ||
run: | | ||
# python -m pip install --upgrade pip | ||
pip install wheel tox eliot-tree cuvner | ||
- name: Test with tox | ||
run: tox -e coverage | ||
env: | ||
MAGIC_FOLDER_HYPOTHESIS_PROFILE: "magic-folder-ci" | ||
- name: Coverage graph | ||
shell: bash | ||
run: cuv graph | ||
continue-on-error: true | ||
- name: Coverage report | ||
shell: bash | ||
run: | | ||
git diff origin/main..HEAD > p | ||
cuv report p | ||
continue-on-error: true | ||
- name: Coverage details | ||
shell: bash | ||
run: | | ||
git diff origin/main..HEAD > p | ||
cuv diff p | ||
continue-on-error: true | ||
- name: Generate eliot-tree. | ||
if: ${{ always() }} | ||
shell: bash | ||
run: | | ||
if [[ -f eliot.log ]]; then | ||
eliot-tree --field-limit=0 eliot.log > eliot-tree.txt | ||
fi | ||
- name: Upload eliot.log in case of failure | ||
uses: "actions/upload-artifact@v4" | ||
with: | ||
if-no-files-found: "warn" | ||
name: "unit-test--${{ matrix.os }}-${{ matrix.python-version }}" | ||
path: "eliot*" | ||
- name: Upload coverage report | ||
uses: codecov/codecov-action@v2 | ||
with: | ||
token: "322d708d-8283-4827-b605-ccf02bfecf70" | ||
file: "./coverage.xml" | ||
integration-tests: | ||
strategy: | ||
matrix: | ||
os: | ||
- runs-on: ubuntu-latest | ||
python-version: | ||
- "3.9" | ||
tahoe-version: | ||
- "1_17" | ||
- "1_18" | ||
- "1_19" | ||
- "master" | ||
runs-on: ${{ matrix.os.runs-on }} | ||
steps: | ||
- name: Check out source code | ||
uses: actions/checkout@v2 | ||
with: | ||
# Get enough history for the tags we get next to be meaningful. 0 | ||
# means all history. | ||
fetch-depth: "0" | ||
# Checkout head of the branch of the PR, or the exact revision | ||
# specified for non-PR builds. | ||
ref: "${{ github.event.pull_request.head.sha || github.sha }}" | ||
# Get tags not fetched by the checkout action, needed for auto-versioning. | ||
- run: "git fetch origin +refs/tags/*:refs/tags/*" | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Use pip cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~\AppData\Local\pip\Cache | ||
key: ${{ runner.os }}-pip-${{ hashFiles('**/setup.py') }} | ||
restore-keys: | | ||
${{ runner.os }}-pip- | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install wheel tox eliot-tree | ||
- name: Test with tox | ||
run: tox -e integration-${{ matrix.tahoe-version }} | ||
- name: Generate eliot-tree. | ||
if: ${{ always() }} | ||
shell: bash | ||
run: | | ||
if [[ -f eliot.log ]]; then | ||
eliot-tree --field-limit=0 eliot.log > eliot-tree.txt | ||
fi | ||
- name: Upload eliot.log in case of failure | ||
uses: "actions/upload-artifact@v4" | ||
if: ${{ always() }} | ||
with: | ||
if-no-files-found: "warn" | ||
name: "integration--${{ matrix.os }}-${{ matrix.python-version }}-tahoe-${{ matrix.tahoe-version }}" | ||
path: "eliot*" | ||
- uses: codecov/codecov-action@v2 | ||
with: | ||
token: "322d708d-8283-4827-b605-ccf02bfecf70" | ||
file: "./coverage.xml" | ||
flags: "integration" |