This repository has been archived by the owner on May 23, 2024. It is now read-only.
CI #927
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
# SPDX-FileCopyrightText: 2022 Helmholtz Centre for Environmental Research (UFZ) | |
# SPDX-FileCopyrightText: 2022 Helmholtz-Zentrum Dresden-Rossendorf (HZDR) | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
--- | |
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- "main" | |
tags: | |
- "v*.*.*" | |
schedule: | |
- cron: "0 3 * * *" | |
env: | |
PY_COLORS: 1 | |
ANSIBLE_FORCE_COLOR: 1 | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out the codebase. | |
uses: actions/checkout@v4 | |
- name: Prepare the job environment. | |
uses: ./.github/workflows/prepare-action | |
- name: Lint code. | |
run: | | |
pipenv run yamllint --strict --format colored . && | |
pipenv run ansible-lint -v --force-color --offline --exclude=.pipenv/ . | |
license_compliance: | |
name: Check license compliance with reuse. | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out the codebase. | |
uses: actions/checkout@v4 | |
- name: Prepare the job environment. | |
uses: ./.github/workflows/prepare-action | |
- name: Lint code. | |
run: pipenv run reuse lint | |
test: | |
name: Run Molecule tests. | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- "ghcr.io/hifis-net/ubuntu-systemd:18.04" | |
- "ghcr.io/hifis-net/ubuntu-systemd:20.04" | |
- "ghcr.io/hifis-net/ubuntu-systemd:22.04" | |
- "ghcr.io/hifis-net/debian-systemd:11" | |
- "ghcr.io/hifis-net/centos-systemd:7" | |
- "ghcr.io/hifis-net/almalinux-systemd:8" | |
steps: | |
- name: Check out the codebase. | |
uses: actions/checkout@v4 | |
- name: Prepare the job environment. | |
uses: ./.github/workflows/prepare-action | |
- name: Install modern podman | |
run: | | |
sudo mkdir -p /etc/apt/keyrings | |
curl -fsSL https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/Release.key \ | |
| gpg --dearmor \ | |
| sudo tee /etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg > /dev/null | |
echo \ | |
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/devel_kubic_libcontainers_unstable.gpg]\ | |
https://download.opensuse.org/repositories/devel:kubic:libcontainers:unstable/xUbuntu_$(lsb_release -rs)/ /" \ | |
| sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:unstable.list > /dev/null | |
sudo apt-get update -qq | |
sudo apt-get -qq -y install podman | |
shell: bash | |
- name: Run Molecule tests. | |
run: pipenv run molecule test | |
env: | |
MOLECULE_IMAGE: ${{ matrix.image }} | |
release: | |
name: Release new version on Ansible Galaxy | |
runs-on: ubuntu-22.04 | |
if: startsWith(github.ref, 'refs/tags/v') | |
needs: [lint, license_compliance, test] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: galaxy | |
uses: robertdebock/[email protected] | |
with: | |
galaxy_api_key: ${{ secrets.galaxy_api_key }} | |
git_branch: "main" |