Skip to content

fix: github login (#8) #54

fix: github login (#8)

fix: github login (#8) #54

Workflow file for this run

name: Validate
on:
push:
paths:
- "python/**"
- "cli/**"
- ".github/workflows/validate.yml"
- ".github/workflows/release.yml"
jobs:
lint-sdk:
name: Lint python SDK
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- run: pip install .[dev]
- run: python -m ruff check ./python
- run: python -m mypy --strict ./python
test-sdk:
name: Unit test python SDK
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- run: pip install -e .[dev]
- run: coverage run -m pytest -vv ./python/tests/
- run: coverage report | grep 'TOTAL' | awk '{print $4}' > ./sdk-coverage.txt
- uses: actions/upload-artifact@v4
with:
name: sdk-coverage
path: ./sdk-coverage.txt
build:
timeout-minutes: 15
runs-on: ubuntu-latest
name: Build package
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- uses: actions/setup-go@v5
with:
go-version: "1.21"
cache: false
- run: python3 -m pip install python-semantic-release==9.6.0 build>=1.2.1
- run: semantic-release version --no-commit --no-tag --no-push --no-changelog # update version locally to build new version
- run: make package
- uses: actions/upload-artifact@v4
with:
name: package
path: ./dist/*
test-cli-windows:
name: Test CLI on windows
runs-on: windows-latest
needs:
- build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- uses: actions/download-artifact@v4
id: download
with:
name: package
path: ./dist
- run: cmd /r dir /b /a-d dist > files.txt
- run: |
$files = Get-Content files.txt
foreach ($file in $files) {
pip install dist/$file
}
- run: numerous --help
lint-cli:
name: Lint CLI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.22"
cache: false
- name: Lint (golangci-lint)
uses: golangci/golangci-lint-action@v4
with:
version: v1.59.0
working-directory: cli
args: --config=../.golangci.yml --verbose
- name: Install gofumpt
shell: bash
run: |
wget https://github.com/mvdan/gofumpt/releases/download/v0.6.0/gofumpt_v0.6.0_linux_amd64
mv gofumpt_v0.6.0_linux_amd64 gofumpt
chmod +x gofumpt
mv gofumpt /usr/local/bin
- name: Check gofumpt formatting
shell: bash
run: |
unformatted_files=$(gofumpt -l .)
if [[ "$unformatted_files" != "" ]]; then
echo "Some files do not adhere to gofumpt formatting:"
echo "$unformatted_files"
exit 1
fi
test-cli:
name: Unit test CLI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
cache: false
- name: Tests
working-directory: cli
run: go test -coverprofile=c.out ./...
- name: Extract Test Coverage Percentage
working-directory: cli
run: go tool cover -func c.out | fgrep total | awk '{print $3}' > ./cli-coverage.txt
- uses: actions/upload-artifact@v4
with:
name: cli-coverage
path: cli/cli-coverage.txt