Skip to content

Run tests for the cloud.google collection #991

Run tests for the cloud.google collection

Run tests for the cloud.google collection #991

Workflow file for this run

---
# Should be kept up to date with https://github.com/ansible-collections/collection_template/blob/main/.github/workflows/ansible-test.yml
# Integration tests are run separately from the ansible-integration-tests.yml workflow.
name: Run tests for the cloud.google collection
on:
# Run CI against all pushes (direct commits, also merged PRs), Pull Requests
push:
branches:
- main
- stable-*
pull_request:
# Run CI once per day (at 06:00 UTC)
# This ensures that even if there haven't been commits that we are still
# testing against latest version of ansible-test for each ansible-core
# version
schedule:
- cron: '0 6 * * *'
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true # https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
concurrency:
group: >-
${{ github.workflow }}-${{
github.event.pull_request.number || github.sha
}}
cancel-in-progress: true
jobs:
###
# Sanity tests (REQUIRED)
#
# https://docs.ansible.com/ansible/latest/dev_guide/testing_sanity.html
setup:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- id: set-matrix
run: |
# yq reads the .yaml and outputs a clean, minified JSON string
MATRIX_JSON=$(yq -o=json -I=0 .github/test-matrix.yaml)
echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT
sanity:
name: Sanity (Ⓐ${{ matrix.ansible }} / Ⓟ${{ matrix.python }})
runs-on: ubuntu-latest
needs: setup
strategy:
matrix: ${{ fromJson(needs.setup.outputs.matrix) }}
continue-on-error: ${{ matrix.ansible == 'devel' || matrix.ansible == 'milestone' }}
steps:
# Run sanity tests inside a Docker container.
# The docker container has all the pinned dependencies that are
# required and all Python versions Ansible supports.
- name: Perform sanity testing
# See the documentation for the following GitHub action on
# https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md
uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # 1.18.0
with:
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}
testing-type: sanity
# OPTIONAL If your sanity tests require code
# from other collections, install them like this
# test-deps: >-
# ansible.netcommon
# ansible.utils
# OPTIONAL If set to true, will test only against changed files,
# which should improve CI performance. See limitations on
# https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection
pull-request-change-detection: false
###
# Unit tests (OPTIONAL)
#
# https://docs.ansible.com/ansible/latest/dev_guide/testing_units.html
units:
name: Units (Ⓐ${{ matrix.ansible }} / Ⓟ${{ matrix.python }})
runs-on: ubuntu-latest
needs: setup
strategy:
matrix: ${{ fromJson(needs.setup.outputs.matrix) }}
continue-on-error: ${{ matrix.ansible == 'devel' || matrix.ansible == 'milestone' }}
steps:
- name: >-
Perform unit testing against
Ansible version ${{ matrix.ansible }} and Python version ${{ matrix.python }}
# See the documentation for the following GitHub action on
# https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md
uses: ansible-community/ansible-test-gh-action@6ded727edb598e670ac056a8e680ca4050bac0a3 # 1.18.0
with:
ansible-core-version: ${{ matrix.ansible }}
target-python-version: ${{ matrix.python }}
testing-type: units
# OPTIONAL If your unit tests require code
# from other collections, install them like this
test-deps: >-
ansible.netcommon
ansible.utils
# OPTIONAL If set to true, will test only against changed files,
# which should improve CI performance. See limitations on
# https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection
pull-request-change-detection: false