diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 09e109f7..789945d8 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,18 +21,18 @@ jobs: packages: write steps: - - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-qemu-action@v3 - - uses: docker/setup-buildx-action@v2 + - uses: docker/setup-buildx-action@v3 - name: Login to docker hub - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Login to github container registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} @@ -40,7 +40,7 @@ jobs: - name: Extract docker metadata id: meta - uses: docker/metadata-action@v3 + uses: docker/metadata-action@v5 with: images: | arcan1s/ahriman @@ -50,7 +50,7 @@ jobs: type=edge - name: Build an image and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v6 with: file: docker/Dockerfile push: true diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml index 6b114c74..c0ebb3a5 100644 --- a/.github/workflows/regress.yml +++ b/.github/workflows/regress.yml @@ -37,8 +37,6 @@ jobs: - repo:/var/lib/ahriman steps: - - uses: actions/checkout@v3 - - run: pacman -Sy - name: Init repository diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 702b61bf..8e438294 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Extract version id: version @@ -27,8 +27,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} filter: 'Release \d+\.\d+\.\d+' - - name: Install dependencies - uses: ConorMacBride/install-package@v1.1.0 + - uses: ConorMacBride/install-package@v1.1.0 with: apt: tox @@ -38,7 +37,7 @@ jobs: VERSION: ${{ steps.version.outputs.VERSION }} - name: Publish release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: body: | ${{ steps.changelog.outputs.compareurl }} diff --git a/.github/workflows/setup.yml b/.github/workflows/setup.yml index c3f7479c..b0fd9868 100644 --- a/.github/workflows/setup.yml +++ b/.github/workflows/setup.yml @@ -24,7 +24,7 @@ jobs: - ${{ github.workspace }}:/build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup the minimal service in arch linux container run: .github/workflows/setup.sh minimal @@ -40,7 +40,7 @@ jobs: options: --privileged -w /build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup the service in arch linux container run: .github/workflows/setup.sh diff --git a/.github/workflows/tests.sh b/.github/workflows/tests.sh deleted file mode 100755 index 55c4e1df..00000000 --- a/.github/workflows/tests.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# Install dependencies and run test in container - -set -ex - -# install dependencies -pacman --noconfirm -Syyu base-devel python-tox - -# run test and check targets -tox diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e08af959..d83d0fa1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -26,7 +26,14 @@ jobs: - ${{ github.workspace }}:/build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - name: Run check and tests in arch linux container - run: .github/workflows/tests.sh + - run: pacman --noconfirm -Syu base-devel git python-tox + + - name: Run check and tests + run: tox + + - name: Generate documentation and check if there are untracked changes + run: tox -e docs + + - uses: numtide/clean-git-action@v2 diff --git a/docs/architecture.rst b/docs/architecture.rst index 97d25c7c..c7b51faa 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -413,10 +413,11 @@ Web application Web application requires the following python packages to be installed: * Core part requires ``aiohttp`` (application itself), ``aiohttp_jinja2`` and ``Jinja2`` (HTML generation from templates). -* Additional web features also require ``aiohttp-apispec`` (autogenerated documentation), ``aiohttp_cors`` (CORS support, required by documentation). +* Additional web features also require ``aiohttp-apispec`` (autogenerated documentation, optional), ``aiohttp_cors`` (CORS support, required by documentation). * In addition, authorization feature requires ``aiohttp_security``, ``aiohttp_session`` and ``cryptography``. * In addition to base authorization dependencies, OAuth2 also requires ``aioauth-client`` library. * In addition if you would like to disable authorization for local access (recommended way in order to run the application itself with reporting support), the ``requests-unixsocket2`` library is required. +* Application metrics will be automatically enabled after installing ``aiohttp-openmetrics`` package. Middlewares ^^^^^^^^^^^