Document NetHSM/SDK compatibility #290
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: Continuous integration | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
env: | |
FLIT_ROOT_INSTALL: 1 | |
jobs: | |
format-code: | |
name: Check code format | |
runs-on: ubuntu-latest | |
container: python:3.9-slim | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install required packages | |
run: | | |
apt update | |
apt install -y make | |
- name: Create virtual environment | |
run: make init | |
- name: Check code format | |
run: | | |
. venv/bin/activate | |
make check-format | |
format-import: | |
name: Check imports format | |
runs-on: ubuntu-latest | |
container: python:3.9-slim | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install required packages | |
run: | | |
apt update | |
apt install -y make | |
- name: Create virtual environment | |
run: make init | |
- name: Check code import format | |
run: | | |
. venv/bin/activate | |
make check-import-sorting | |
lint-style: | |
name: Check code style | |
runs-on: ubuntu-latest | |
container: python:3.9-slim | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install required packages | |
run: | | |
apt update | |
apt install -y make | |
- name: Create virtual environment | |
run: make init | |
- name: Check code style | |
run: | | |
. venv/bin/activate | |
make check-style | |
lint-typing: | |
name: Check static typing | |
runs-on: ubuntu-latest | |
container: python:3.9-slim | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install required packages | |
run: | | |
apt update | |
apt install -y make | |
- name: Create virtual environment | |
run: make init | |
- name: Check code static typing | |
run: | | |
. venv/bin/activate | |
make check-typing | |
integration-test: | |
name: Run integration tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install required packages | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y make | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Create virtual environment | |
run: make init | |
- name: Check code with integration tests | |
run: | | |
. venv/bin/activate | |
make test | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
if: ${{ failure() }} | |
with: | |
name: backup | |
path: backupNethsm.bin | |
- name: upload coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
files: ./coverage.xml | |
- name: login to DockerHub | |
if: github.event_name == 'push' && github.ref_name == 'main' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: push sdk tag | |
if: github.event_name == 'push' && github.ref_name == 'main' | |
run: | | |
docker tag docker.io/nitrokey/nethsm:testing docker.io/nitrokey/nethsm:latest-sdk | |
docker push docker.io/nitrokey/nethsm:latest-sdk | |
clean-install: | |
name: Try a clean install with pip | |
runs-on: ubuntu-latest | |
container: python:3.9-slim | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Create virtual environment | |
run: python3 -m venv venv | |
- name: Install package | |
run: venv/bin/pip install . | |
- name: Use package | |
run: venv/bin/python3 -c "import nethsm" |