Update Tanzu Tile variable descriptions (#3724) #4
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
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") | |
} |