Linux arm64 build #1119
Workflow file for this run
This file contains hidden or 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: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| pyproject-lock-file-check: | |
| name: Check pyproject syntax | |
| runs-on: ubuntu-latest | |
| container: python:3.10-slim | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: pip install poetry | |
| - name: Check pyproject.toml syntax and consistency with poetry.lock | |
| run: poetry check | |
| format-code: | |
| name: Check code format | |
| runs-on: ubuntu-latest | |
| container: python:3.10-slim | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: | | |
| apt update | |
| apt install -y make | |
| pip install poetry | |
| - name: Create virtual environment | |
| run: make init | |
| - name: Check code format | |
| run: make check-format | |
| lint-style: | |
| name: Check code style | |
| runs-on: ubuntu-latest | |
| container: python:3.10-slim | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: | | |
| apt update | |
| apt install -y make | |
| pip install poetry | |
| - name: Create virtual environment | |
| run: make init | |
| - name: Check code style | |
| run: make check-style | |
| lint-typing: | |
| name: Check static typing | |
| runs-on: ubuntu-latest | |
| container: python:3.10-slim | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: | | |
| apt update | |
| apt install -y make libglib2.0-dev | |
| pip install poetry | |
| - name: Create virtual environment | |
| run: make init | |
| - name: Check code static typing | |
| run: make check-typing | |
| lint-flatpak-metadata: | |
| name: Check flatpak metadata | |
| runs-on: ubuntu-latest | |
| container: ghcr.io/flathub/flatpak-builder-lint:latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Check appstream metadata | |
| run: | | |
| flatpak-builder-lint appstream meta/com.nitrokey.nitrokey-app2.metainfo.xml || true | |
| echo "FIXME: currently disabled" | |
| check-version-accordance-rpm-spec: | |
| name: Check for version accordance with RPM specification file | |
| runs-on: ubuntu-latest | |
| container: fedora:latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: | | |
| dnf makecache | |
| dnf install -y gcc libffi-devel make python python-pip python3-devel rpm-build systemd-devel which | |
| pip install poetry | |
| - name: Create virtual environment | |
| run: make init | |
| - name: Check versions | |
| shell: bash | |
| run: | | |
| PACKAGE_VERSION=$(poetry version --short) | |
| RPM_VERSION=$(rpmspec -q --qf "%{version}" ci-scripts/linux/rpm/nitrokey-app2.spec) | |
| if [ $PACKAGE_VERSION == $RPM_VERSION ]; then exit 0; else exit 1; fi | |
| check-version-accordance-flatpak-metadata: | |
| name: Check for version accordance with Flatpak metadata file | |
| runs-on: ubuntu-latest | |
| container: python:3.10-slim | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install required packages | |
| run: | | |
| apt update | |
| apt install -y make | |
| pip install poetry | |
| - name: Create virtual environment | |
| run: make init | |
| - name: Check versions | |
| shell: bash | |
| run: | | |
| PACKAGE_VERSION=$(poetry version --short) | |
| FLATPAK_VERSION=$(python -c "import xml.etree.ElementTree as ET; print(ET.parse('meta/com.nitrokey.nitrokey-app2.metainfo.xml').getroot().find('releases')[0].get('version'))") | |
| if [ $PACKAGE_VERSION == $FLATPAK_VERSION ]; then exit 0; else exit 1; fi | |
| flatpak-build: | |
| name: Flatpak bundle build | |
| if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/flathub-infra/flatpak-github-actions:kde-6.10 | |
| options: --privileged | |
| steps: | |
| - name: Checkout nkapp2 flathub repository | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: flathub/com.nitrokey.nitrokey-app2 | |
| path: flatpak-build | |
| - name: Update flathub repository to use this commit | |
| run: | | |
| cd flatpak-build | |
| make venv | |
| bash ./update.sh ${{ github.sha }} | |
| make | |
| - name: Build the flatpak bundle | |
| uses: flatpak/flatpak-github-actions/flatpak-builder@v6.6 | |
| with: | |
| bundle: nkapp2.flatpak | |
| manifest-path: flatpak-build/com.nitrokey.nitrokey-app2.yml | |
| cache-key: flatpak-builder-${{ github.sha }} |