Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
wakamex committed Mar 5, 2024
1 parent 661698c commit 75ab161
Show file tree
Hide file tree
Showing 5 changed files with 172 additions and 218 deletions.
52 changes: 0 additions & 52 deletions .github/workflows/docker.yml

This file was deleted.

172 changes: 172 additions & 0 deletions .github/workflows/jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
name: setup

on:
push:
branches:
- main
pull_request:

jobs:
setup-and-upload:
name: Set up virtual environment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: install venv
run: uv venv .venv -p 3.10
- name: install requirements
run: |
source .venv/bin/activate
uv pip install --upgrade -r requirements.txt
uv pip install --upgrade -r requirements-rl.txt
uv pip install --upgrade -r requirements-dev.txt
- name: Upload virtual environment
uses: actions/upload-artifact@v3
with:
name: venv
path: .venv

lint:
name: Lint
runs-on: ubuntu-latest
needs: setup-and-upload
steps:
- uses: actions/checkout@v3
with:
token: ${{github.token}}
- name: Download virtual environment
uses: actions/download-artifact@v3
with:
name: venv
path: .venv
- name: run black
run: |
source .venv/bin/activate
python -m black --config pyproject.toml --check --diff .
- name: get all Python files
id: list_files
run: |
echo "files=$(git ls-files '*.py' '*.pyi' | xargs)" >> $GITHUB_OUTPUT
- name: run Pylint on files
run: |
source .venv/bin/activate
files="${{ steps.list_files.outputs.files }}"
if [ -n "$files" ]; then
pylint --rcfile=.pylintrc $files
else
echo "No Python files found."
fi
static:
name: Static
runs-on: ubuntu-latest
needs: setup-and-upload
steps:
- uses: actions/checkout@v3
with:
token: ${{github.token}}
- name: Download virtual environment
uses: actions/download-artifact@v3
with:
name: venv
path: .venv
- name: Analyse code with pyright
run: |
source .venv/bin/activate
python -m pyright $(git ls-files '*.py' '*.pyi')
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: ${{github.token}}
- name: install node
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: install packages
uses: borales/actions-yarn@v4
with:
cmd: install # will run `yarn install` command
env:
# A warning is thrown here unnecessarily. tracking issue here:
# https://github.com/github/vscode-github-actions/issues/222
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # if needed
- name: install foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: set up python
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
token: ${{github.token}}
- name: Download virtual environment
uses: actions/download-artifact@v3
with:
name: venv
path: .venv
- name: run pytest with coverage
run: |
source .venv/bin/activate
IN_CI=true coverage run -m pytest
- name: generate coverage report
run: |
source .venv/bin/activate
coverage xml -i
coverage html -i
- name: upload coverage report to Codecov
uses: codecov/codecov-action@v3
with:
flags: unittests
fail_ci_if_error: true
# A warning is thrown here unnecessarily. tracking issue here:
# https://github.com/github/vscode-github-actions/issues/222
token: ${{ secrets.CODECOV_TOKEN }}

docker:
name: Docker image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Check out code
uses: actions/checkout@v3
with:
submodules: recursive
token: ${{secrets.GITHUB_TOKEN}}
- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/[email protected]
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
# Add a version tag when a valid semver tag is pushed.
type=semver,pattern={{version}}
# Add the edge tag to every image to represent the latest commit to main
type=edge,branch=main
- name: Build and push Docker image
uses: docker/[email protected]
with:
context: .
push: true
file: ./Dockerfile
tags: |
${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
54 changes: 0 additions & 54 deletions .github/workflows/lint.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/static.yml

This file was deleted.

73 changes: 0 additions & 73 deletions .github/workflows/test.yml

This file was deleted.

0 comments on commit 75ab161

Please sign in to comment.