Skip to content

Bash pull request target #3

Bash pull request target

Bash pull request target #3

name: Pull request integration tests
on:
pull_request_target:
branches:
- main
paths:
- poetry.lock
- pyproject.toml
- 'plugins/module_utils/**'
- 'plugins/modules/**'
- 'tests/integration/**'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
test-integration:
runs-on: ubuntu-22.04
# MUST keep this environment set if using pull_request_target
environment: integration
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
versions:
- ansible: stable-2.14
python: "3.9"
module:
- account_info
- balance_info
- billing_history_info
- cdn_endpoints # Failing with a 500, marked disabled in aliases
- cdn_endpoints_info
- certificate
- certificates_info
- container_registry_info
- database_cluster
- database_clusters_info
- domain
- domain_record
- domain_records_info
- domains_info
- droplet
- droplet_action_power
- droplet_action_resize
- droplet_action_snapshot
- droplets_info
- firewall
- firewalls_info
- images_info
- kubernetes_cluster
- kubernetes_clusters_info
- load_balancer
- load_balancers_info
- monitoring_alert_policies_info
- monitoring_alert_policy
- one_click
- one_clicks_info
- project
- projects_info
- project_resources_info
- regions_info
- reserved_ip
- reserved_ips_info
- sizes_info
- snapshot
- snapshots_info
- space
- spaces_info
- ssh_key
- ssh_keys_info
- tag
- tags_info
- uptime_check
- uptime_checks_info
- uptime_checks_state_info
- volume
- volume_action
- volume_snapshot
- volumes_info
- vpc
- vpcs_info
steps:
- name: Perform integration testing
uses: ansible-community/ansible-test-gh-action@release/v1
with:
# MUST set 'git-checkout-ref' if using pull_request_target
# MUST use an Environment if using pull_request_target
# 'github.event.pull_request.head.sha' checks out the
# PR source repo's code, which should be considered untrusted
git-checkout-ref: ${{ github.event.pull_request.head.sha }}
pre-test-cmd: >-
DIGITALOCEAN_TOKEN=${{ secrets.DIGITALOCEAN_TOKEN }}
AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }}
./tests/utils/render.sh
tests/integration/integration_config.yml.template
> tests/integration/integration_config.yml
ansible-core-version: ${{ matrix.versions.ansible }}
origin-python-version: ${{ matrix.versions.python }}
target: ${{ matrix.module }}
target-python-version: ${{ matrix.versions.python }}
testing-type: integration
test-deps: >-
community.general