Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding basic network upload command #528

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
322 changes: 161 additions & 161 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,170 +1,170 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: CLI CI
# name: CLI CI

on:
pull_request:
push:
branches:
- main
# on:
# pull_request:
# push:
# branches:
# - main

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install black==22.3.0 isort==5.10.1
- name: Check linting with black
run: |
black --check codecov_cli
- name: Check imports order with isort
run: |
isort --check --profile=black codecov_cli -p staticcodecov_languages
# jobs:
# lint:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install black==22.3.0 isort==5.10.1
# - name: Check linting with black
# run: |
# black --check codecov_cli
# - name: Check imports order with isort
# run: |
# isort --check --profile=black codecov_cli -p staticcodecov_languages

codecov-startup:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install CLI
run: |
pip install codecov-cli
- name: Create commit in codecov
run: |
codecovcli create-commit -t ${{ secrets.CODECOV_TOKEN }} --git-service github
- name: Create commit report in codecov
run: |
codecovcli create-report -t ${{ secrets.CODECOV_TOKEN }} --git-service github
# codecov-startup:
# runs-on: ubuntu-latest
# if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 2
# - uses: actions/setup-python@v5
# with:
# python-version: "3.12"
# - name: Install CLI
# run: |
# pip install codecov-cli
# - name: Create commit in codecov
# run: |
# codecovcli create-commit -t ${{ secrets.CODECOV_TOKEN }} --git-service github
# - name: Create commit report in codecov
# run: |
# codecovcli create-report -t ${{ secrets.CODECOV_TOKEN }} --git-service github

build-test-upload:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.12"
- python-version: "3.11"
- python-version: "3.10"
- python-version: "3.9"
- python-version: "3.8"
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- name: Set up Python ${{matrix.python-version}}
uses: actions/setup-python@v5
with:
python-version: "${{matrix.python-version}}"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m pip install -e .
pip install -r tests/requirements.txt
- name: Test with pytest
run: |
pytest --cov --junitxml=${{matrix.python-version}}junit.xml
- name: Dogfooding codecov-cli
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
run: |
codecovcli -v do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}}
codecovcli do-upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}}
- name: Upload artifacts for test-results-processing
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: ${{matrix.python-version}}junit.xml
path: ${{matrix.python-version}}junit.xml
# build-test-upload:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# include:
# - python-version: "3.12"
# - python-version: "3.11"
# - python-version: "3.10"
# - python-version: "3.9"
# - python-version: "3.8"
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 2
# - name: Set up Python ${{matrix.python-version}}
# uses: actions/setup-python@v5
# with:
# python-version: "${{matrix.python-version}}"
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# pip install -r requirements.txt
# python -m pip install -e .
# pip install -r tests/requirements.txt
# - name: Test with pytest
# run: |
# pytest --cov --junitxml=${{matrix.python-version}}junit.xml
# - name: Dogfooding codecov-cli
# if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
# run: |
# codecovcli -v do-upload --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}}
# codecovcli do-upload --report-type test_results --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --plugin pycoverage --flag python${{matrix.python-version}}
# - name: Upload artifacts for test-results-processing
# if: ${{ !cancelled() }}
# uses: actions/upload-artifact@v4
# with:
# name: ${{matrix.python-version}}junit.xml
# path: ${{matrix.python-version}}junit.xml

static-analysis:
runs-on: ubuntu-latest
needs: codecov-startup
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install CLI
run: |
pip install codecov-cli
- uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 2
- name: Static Analysis
run: |
codecovcli static-analysis --token ${{ secrets.STATIC_TOKEN }}
# static-analysis:
# runs-on: ubuntu-latest
# needs: codecov-startup
# if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 2
# - uses: actions/setup-python@v5
# with:
# python-version: "3.12"
# - name: Install CLI
# run: |
# pip install codecov-cli
# - uses: actions/checkout@v3
# with:
# submodules: true
# fetch-depth: 2
# - name: Static Analysis
# run: |
# codecovcli static-analysis --token ${{ secrets.STATIC_TOKEN }}

label-analysis:
runs-on: ubuntu-latest
needs: static-analysis
if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies for Dogfooding
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m pip install -e .
pip install -r tests/requirements.txt
- name: Label Analysis
run: |
BASE_SHA=$(git merge-base HEAD^ origin/main)
echo $BASE_SHA
codecovcli label-analysis --token ${{ secrets.STATIC_TOKEN }} --base-sha=$BASE_SHA --max-wait-time=120
- name: Upload smart-labels
run: |
codecovcli --codecov-yml-path=codecov.yml do-upload --plugin pycoverage --plugin compress-pycoverage --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --flag smart-labels
# label-analysis:
# runs-on: ubuntu-latest
# needs: static-analysis
# if: ${{ !github.event.pull_request.head.repo.fork && github.repository_owner == 'codecov' }}
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 0
# - uses: actions/setup-python@v5
# with:
# python-version: "3.12"
# - name: Install dependencies for Dogfooding
# run: |
# python -m pip install --upgrade pip
# pip install -r requirements.txt
# python -m pip install -e .
# pip install -r tests/requirements.txt
# - name: Label Analysis
# run: |
# BASE_SHA=$(git merge-base HEAD^ origin/main)
# echo $BASE_SHA
# codecovcli label-analysis --token ${{ secrets.STATIC_TOKEN }} --base-sha=$BASE_SHA --max-wait-time=120
# - name: Upload smart-labels
# run: |
# codecovcli --codecov-yml-path=codecov.yml do-upload --plugin pycoverage --plugin compress-pycoverage --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} --flag smart-labels

process-test-results:
if: ${{ always() }}
needs: build-test-upload
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 2
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install dependencies for Dogfooding
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m pip install -e .
pip install -r tests/requirements.txt
- name: Download all test results
uses: actions/download-artifact@v4
with:
pattern: "*junit.xml"
path: "test_results"
merge-multiple: true
# process-test-results:
# if: ${{ always() }}
# needs: build-test-upload
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# with:
# submodules: true
# fetch-depth: 2
# - uses: actions/setup-python@v5
# with:
# python-version: "3.12"
# - name: Install dependencies for Dogfooding
# run: |
# python -m pip install --upgrade pip
# pip install -r requirements.txt
# python -m pip install -e .
# pip install -r tests/requirements.txt
# - name: Download all test results
# uses: actions/download-artifact@v4
# with:
# pattern: "*junit.xml"
# path: "test_results"
# merge-multiple: true

- name: Dogfooding codecov-cli
if: ${{ !cancelled() && github.ref && contains(github.ref, 'pull') }}
run: |
codecovcli process-test-results --dir test_results --github-token ${{ secrets.GITHUB_TOKEN }}
# - name: Dogfooding codecov-cli
# if: ${{ !cancelled() && github.ref && contains(github.ref, 'pull') }}
# run: |
# codecovcli process-test-results --dir test_results --github-token ${{ secrets.GITHUB_TOKEN }}
Loading
Loading