mirror of
https://github.com/goauthentik/authentik.git
synced 2026-06-17 19:09:11 +03:00
ae1a764ffe
ci: bump taiki-e/install-action in /.github/actions/setup Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.81.8 to 2.81.10. - [Release notes](https://github.com/taiki-e/install-action/releases) - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/taiki-e/install-action/compare/0631aa6515c7d545823c67cfae7ef4fc7f490154...7a79fe8c3a13344501c80d99cae481c1c9085912) --- updated-dependencies: - dependency-name: taiki-e/install-action dependency-version: 2.81.10 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
110 lines
4.4 KiB
YAML
110 lines
4.4 KiB
YAML
name: "Setup authentik testing environment"
|
|
description: "Setup authentik testing environment"
|
|
|
|
inputs:
|
|
dependencies:
|
|
description: "List of dependencies to setup"
|
|
default: "system,python,rust,node,go,runtime"
|
|
postgresql_version:
|
|
description: "Optional postgresql image tag"
|
|
default: "16"
|
|
working-directory:
|
|
description: |
|
|
Optional working directory if this repo isn't in the root of the actions workspace.
|
|
When set, needs to contain a trailing slash
|
|
default: ""
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Cleanup apt
|
|
if: ${{ contains(inputs.dependencies, 'system') || contains(inputs.dependencies, 'python') }}
|
|
shell: bash
|
|
run: sudo apt-get remove --purge man-db
|
|
- name: Install apt deps
|
|
if: ${{ contains(inputs.dependencies, 'system') || contains(inputs.dependencies, 'python') }}
|
|
uses: gerlero/apt-install@f4fa5265092af9e750549565d28c99aec7189639
|
|
with:
|
|
packages: libpq-dev openssl libxmlsec1-dev pkg-config gettext libclang-dev libkadm5clnt-mit12 libkadm5clnt7t64-heimdal libkrb5-dev krb5-kdc krb5-user krb5-admin-server
|
|
update: true
|
|
upgrade: false
|
|
install-recommends: false
|
|
- name: Make space on disk
|
|
if: ${{ contains(inputs.dependencies, 'system') || contains(inputs.dependencies, 'python') }}
|
|
shell: bash
|
|
run: |
|
|
sudo mkdir -p /tmp/empty/
|
|
sudo rsync -a --delete /tmp/empty/ /usr/local/lib/android/
|
|
- name: Install uv
|
|
if: ${{ contains(inputs.dependencies, 'python') }}
|
|
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v5
|
|
with:
|
|
enable-cache: true
|
|
- name: Setup python
|
|
if: ${{ contains(inputs.dependencies, 'python') }}
|
|
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v5
|
|
with:
|
|
python-version-file: "${{ inputs.working-directory }}pyproject.toml"
|
|
- name: Install Python deps
|
|
if: ${{ contains(inputs.dependencies, 'python') }}
|
|
shell: bash
|
|
working-directory: ${{ inputs.working-directory }}
|
|
run: uv sync --all-extras --dev --locked
|
|
- name: Setup rust (stable)
|
|
if: ${{ contains(inputs.dependencies, 'rust') && !contains(inputs.dependencies, 'rust-nightly') }}
|
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
|
with:
|
|
rustflags: ""
|
|
- name: Setup rust (nightly)
|
|
if: ${{ contains(inputs.dependencies, 'rust-nightly') }}
|
|
uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 # v1
|
|
with:
|
|
toolchain: nightly
|
|
components: rustfmt
|
|
rustflags: ""
|
|
- name: Setup rust dependencies
|
|
if: ${{ contains(inputs.dependencies, 'rust') }}
|
|
uses: taiki-e/install-action@7a79fe8c3a13344501c80d99cae481c1c9085912 # v2
|
|
with:
|
|
tool: cargo-deny cargo-machete cargo-llvm-cov nextest
|
|
- name: Setup node (root, web)
|
|
if: ${{ contains(inputs.dependencies, 'node') }}
|
|
uses: ./.github/actions/setup-node
|
|
with:
|
|
working-directory: web
|
|
- name: Setup go
|
|
if: ${{ contains(inputs.dependencies, 'go') }}
|
|
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v5
|
|
with:
|
|
go-version-file: "${{ inputs.working-directory }}go.mod"
|
|
- name: Setup docker cache
|
|
if: ${{ contains(inputs.dependencies, 'runtime') }}
|
|
uses: AndreKurait/docker-cache@7a3887908bdb97935395833df69b060cfcca0f7f
|
|
with:
|
|
key: docker-images-${{ runner.os }}-${{ hashFiles('.github/actions/setup/compose.yml', 'Makefile') }}-${{ inputs.postgresql_version }}
|
|
- name: Setup dependencies
|
|
if: ${{ contains(inputs.dependencies, 'runtime') }}
|
|
shell: bash
|
|
working-directory: ${{ inputs.working-directory }}
|
|
run: |
|
|
export PSQL_TAG=${{ inputs.postgresql_version }}
|
|
docker compose -f .github/actions/setup/compose.yml up -d --wait
|
|
corepack npm ci --prefix web
|
|
- name: Generate config
|
|
if: ${{ contains(inputs.dependencies, 'python') }}
|
|
shell: uv run python {0}
|
|
working-directory: ${{ inputs.working-directory }}
|
|
run: |
|
|
from authentik.lib.generators import generate_id
|
|
from yaml import safe_dump
|
|
|
|
with open("local.env.yml", "w") as _config:
|
|
safe_dump(
|
|
{
|
|
"log_level": "debug",
|
|
"secret_key": generate_id(),
|
|
},
|
|
_config,
|
|
default_flow_style=False,
|
|
)
|