Skip to content

Update Tanzu Tile variable descriptions (#3724) #4

Update Tanzu Tile variable descriptions (#3724)

Update Tanzu Tile variable descriptions (#3724) #4

Workflow file for this run

name: Ansible
# The workflow triggered by any change in deployments/ansible/.
# 1. Run lint checks and Ansible Molecule tests.
# 2. Push a new "ansible-v<VERSION>" tag, if the version was updated
# in deployments/ansible/galaxy.yml.
on:
push:
paths:
- '.github/workflows/ansible.yml'
- 'deployments/ansible/galaxy.yml'
branches:
- main
pull_request:
paths:
- '.github/workflows/ansible.yml'
- 'deployments/ansible/**'
- '!**.md'
concurrency:
group: ansible-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: write
defaults:
run:
working-directory: 'deployments/ansible'
jobs:
lint:
name: Lint
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- name: Set up Python 3.
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install yamllint.
run: pip3 install yamllint
- name: Lint code.
run: yamllint .
linux-test:
name: Linux Test
needs: lint
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
ansible:
- ansible~=2.10.0
- ansible~=6.0
- ansible~=7.0
distro:
- amazonlinux2
- amazonlinux2023
- centos7
- centos8
- centos9
- debian9
- debian10
- debian11
- opensuse12
- opensuse15
- ubuntu1604
- ubuntu1804
- ubuntu2004
- ubuntu2204
exclude:
# ansible<6 unsupported on Amazon Linux 2023
- distro: amazonlinux2023
ansible: ansible~=2.10.0
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- uses: DamianReeves/write-file-action@v1.2
with:
path: "${{ github.workspace }}/requirements.txt"
contents: |
${{ matrix.ansible }}
molecule==3.3.0
molecule-docker==0.2.4
docker==5.0.0
ansible-lint==5.4.0
urllib3<2
- name: Set up Python 3.
uses: actions/setup-python@v4
with:
python-version: '3.x'
cache: 'pip'
cache-dependency-path: "${{ github.workspace }}/requirements.txt"
- name: Install test dependencies.
run: |
# workaround for https://github.com/yaml/pyyaml/issues/724
pip3 install 'wheel==0.40.0'
pip3 install 'Cython<3.0' 'PyYaml~=5.0' --no-build-isolation
pip3 install --use-pep517 -r ${GITHUB_WORKSPACE}/requirements.txt
- name: Run Molecule tests.
run: molecule --base-config ./molecule/config/docker.yml test --all
env:
PY_COLORS: '1'
ANSIBLE_FORCE_COLOR: '1'
MOLECULE_DISTRO: ${{ matrix.distro }}
windows-test:
name: Windows Test
needs: lint
# Need to run on macos-12 since it is the only image with native support for ansible, vagrant, and virtualbox.
# https://docs.ansible.com/ansible/latest/os_guide/windows_faq.html#windows-faq-ansible
# https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
runs-on: macos-12
timeout-minutes: 75
strategy:
fail-fast: false
matrix:
ansible:
- ansible~=2.10.0
- ansible~=6.0
- ansible~=7.0
distro:
- "2012"
- "2016"
- "2019"
- "2022"
scenario:
- default
- custom_vars
- with_instrumentation
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- uses: DamianReeves/write-file-action@v1.2
with:
path: "${{ github.workspace }}/requirements.txt"
contents: |
${{ matrix.ansible }}
ansible-compat==2.2.7
ansible-lint==5.4.0
molecule==4.0.4
molecule-vagrant==2.0.0
pywinrm==0.4.3
- name: Set up Python 3.
uses: actions/setup-python@v4
with:
python-version: '3.x'
cache: 'pip'
cache-dependency-path: "${{ github.workspace }}/requirements.txt"
- name: Install test dependencies.
run: pip3 install --use-pep517 -r ${GITHUB_WORKSPACE}/requirements.txt
- name: Run Molecule tests.
run: molecule --debug -v --base-config ./molecule/config/windows.yml test -s ${{ matrix.scenario }} -p ${{ matrix.distro }}
env:
PY_COLORS: '1'
ANSIBLE_FORCE_COLOR: '1'
push-release-tag:
name: Push Release Tag
needs: lint
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Read current version of the Ansible Collection
id: read-galaxy-yaml
uses: cumulusds/get-yaml-paths-action@v1
with:
file: deployments/ansible/galaxy.yml
version: version
- name: Ensure version is fetched from galaxy.yml
if: steps.read-galaxy-yaml.outputs.version == ''
run: echo "Fail to read version from galaxy.yml" && exit 1
- name: Push new release tag if it doesn't exist
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const tagRef = "tags/ansible-v${{ steps.read-galaxy-yaml.outputs.version }}"
const existingRefs = await github.rest.git.listMatchingRefs({
owner: context.repo.owner,
repo: context.repo.repo,
ref: tagRef
})
if (existingRefs.data.length === 0) {
await github.rest.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: "refs/" + tagRef,
sha: context.sha
})
} else {
console.log(tagRef + " already exists")
}