[GHA] Update reference for GitHub actions (#318)

* Update reference for GitHub actions

* tox lint file update

* Make names consistent

* ack - check_label

* check source

* fix utils ref

* update lint workflow

* test

* test again

* fix assert statement

* update workflows

* test change

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add back token refresh

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
pull/328/head
Sagar Paul 2024-01-30 19:25:26 +05:30 committed by GitHub
parent 8dc11de0a9
commit 786fa9891d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 81 additions and 72 deletions

View File

@ -1,15 +1,11 @@
---
# See https://github.com/ansible-community/devtools/blob/main/.github/workflows/ack.yml
name: ack
name: "Check label"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on: # yamllint disable-line rule:truthy
pull_request_target:
types: [opened, labeled, unlabeled, synchronize]
jobs:
ack:
uses: ansible/devtools/.github/workflows/ack.yml@main
check_label:
uses: ansible/ansible-content-actions/.github/workflows/check_label.yaml@main

View File

@ -1,5 +1,5 @@
---
name: code_coverage
name: "Code converage"
on: # yamllint disable-line rule:truthy
push:

18
.github/workflows/draft_release.yml vendored Normal file
View File

@ -0,0 +1,18 @@
---
name: "Draft release"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on: # yamllint disable-line rule:truthy
workflow_dispatch:
env:
NAMESPACE: ${{ github.repository_owner }}
COLLECTION_NAME: utils
ANSIBLE_COLLECTIONS_PATHS: ./
jobs:
update_release_draft:
uses: ansible/ansible-content-actions/.github/workflows/draft_release.yaml@main
with:
repo: ${{ github.event.pull_request.head.repo.full_name }}
secrets:
BOT_PAT: ${{ secrets.BOT_PAT }}

View File

@ -1,13 +0,0 @@
---
name: ansible-lint
on: # yamllint disable-line rule:truthy
pull_request:
branches: ["main"]
jobs:
build:
name: Ansible Lint # Naming the build is important to use it as a status check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run ansible-lint
uses: ansible/ansible-lint@main # or version tag instead of 'main'

View File

@ -1,28 +0,0 @@
---
# push workflow is shared and expected to perform actions after a merge happens
# on a maintenance branch (default or release). For example updating the
# draft release-notes.
# based on great work from
# https://github.com/T-Systems-MMS/ansible-collection-icinga-director
name: push
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
env:
NAMESPACE: ansible
COLLECTION_NAME: utils
ANSIBLE_COLLECTIONS_PATHS: ./
jobs:
update_release_draft:
uses: ansible/devtools/.github/workflows/push_network.yml@main
with:
repo: ansible-collections/ansible.utils
secrets:
BOT_PAT: ${{ secrets.BOT_PAT }}

View File

@ -1,12 +1,12 @@
---
name: release
name: "Release collection"
on: # yamllint disable-line rule:truthy
release:
types: [published]
jobs:
release:
uses: ansible/devtools/.github/workflows/release_collection.yml@main
uses: ansible/ansible-content-actions/.github/workflows/release.yaml@main
with:
environment: release
secrets:

View File

@ -1,5 +1,5 @@
---
name: CI
name: "CI"
concurrency:
group: ${{ github.head_ref || github.run_id }}
@ -14,22 +14,24 @@ on: # yamllint disable-line rule:truthy
jobs:
changelog:
uses: ansible-network/github_actions/.github/workflows/changelog.yml@main
uses: ansible/ansible-content-actions/.github/workflows/changelog.yaml@main
if: github.event_name == 'pull_request'
integration:
uses: ansible-network/github_actions/.github/workflows/integration_simple.yml@main
ansible-lint:
uses: ansible/ansible-content-actions/.github/workflows/ansible_lint.yaml@main
sanity:
uses: ansible-network/github_actions/.github/workflows/sanity.yml@main
uses: ansible/ansible-content-actions/.github/workflows/sanity.yaml@main
unit-galaxy:
uses: ansible-network/github_actions/.github/workflows/unit_galaxy.yml@main
uses: ansible/ansible-content-actions/.github/workflows/unit.yaml@main
integration:
uses: ansible/ansible-content-actions/.github/workflows/integration.yaml@main
all_green:
if: ${{ always() }}
needs:
- changelog
- integration
- sanity
- unit-galaxy
- ansible-lint
- integration
runs-on: ubuntu-latest
steps:
- run: >-
@ -38,5 +40,6 @@ jobs:
'${{ needs.changelog.result }}',
'${{ needs.integration.result }}',
'${{ needs.sanity.result }}',
'${{ needs.unit-galaxy.result }}'
'${{ needs.unit-galaxy.result }}',
'${{ needs.ansible-lint.result }}'
])"

View File

@ -1,5 +1,5 @@
---
name: refresh_automation_hub_token
name: "Refresh Automation Hub Token"
on: # yamllint disable-line rule:truthy
schedule:
- cron: '0 0 * * *'
@ -7,7 +7,7 @@ on: # yamllint disable-line rule:truthy
jobs:
refresh:
uses: ansible/devtools/.github/workflows/ah_token_refresh.yml@main
uses: ansible/ansible-content-actions/.github/workflows/refresh_ah_token.yaml@main
with:
environment: release
secrets:

View File

@ -38,10 +38,16 @@ netaddr = pytest.importorskip("netaddr")
class TestIpFilter(unittest.TestCase):
def test_cidr_merge(self):
with pytest.raises(AnsibleFilterError, match="cidr_merge: expected iterable, got None"):
with pytest.raises(
AnsibleFilterError,
match="cidr_merge: expected iterable, got None",
):
cidr_merge(None)
with pytest.raises(AnsibleFilterError, match="cidr_merge: invalid action 'floop'"):
with pytest.raises(
AnsibleFilterError,
match="cidr_merge: invalid action 'floop'",
):
cidr_merge([], "floop")
self.assertEqual(cidr_merge([]), [])
@ -389,15 +395,30 @@ class TestIpFilter(unittest.TestCase):
address = "1.12.1.0/25"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.0 255.255.255.128")
address = "1.12.1.36/28"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.32 255.255.255.240")
self.assertEqual(
ipaddr(address, "network_netmask"),
"1.12.1.32 255.255.255.240",
)
address = "1.12.1.36/255.255.255.240"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.32 255.255.255.240")
self.assertEqual(
ipaddr(address, "network_netmask"),
"1.12.1.32 255.255.255.240",
)
address = "1.12.1.36/31"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.36 255.255.255.254")
self.assertEqual(
ipaddr(address, "network_netmask"),
"1.12.1.36 255.255.255.254",
)
address = "1.12.1.37/31"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.36 255.255.255.254")
self.assertEqual(
ipaddr(address, "network_netmask"),
"1.12.1.36 255.255.255.254",
)
address = "1.12.1.36/32"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.36 255.255.255.255")
self.assertEqual(
ipaddr(address, "network_netmask"),
"1.12.1.36 255.255.255.255",
)
address = "1.12.1.254/24"
self.assertEqual(ipaddr(address, "network_netmask"), "1.12.1.0 255.255.255.0")
@ -493,7 +514,10 @@ class TestIpFilter(unittest.TestCase):
self.assertEqual(ipmath("2001::1", 9), "2001::a")
self.assertEqual(ipmath("2001::1", 10), "2001::b")
self.assertEqual(ipmath("2001::5", -3), "2001::2")
self.assertEqual(ipmath("2001::5", -10), "2000:ffff:ffff:ffff:ffff:ffff:ffff:fffb")
self.assertEqual(
ipmath("2001::5", -10),
"2000:ffff:ffff:ffff:ffff:ffff:ffff:fffb",
)
expected = "You must pass a valid IP address; invalid_ip is invalid"
with self.assertRaises(AnsibleFilterError) as exc:
@ -544,13 +568,13 @@ class TestIpFilter(unittest.TestCase):
ipsubnet("1.1.1.1/25", "24")
self.assertEqual(exc.exception.message, expected)
with self.assertRaisesRegexp(
with self.assertRaisesRegex(
AnsibleFilterError,
"You must pass a valid subnet or IP address; invalid_subnet is invalid",
):
ipsubnet("192.168.144.5", "invalid_subnet")
with self.assertRaisesRegexp(
with self.assertRaisesRegex(
AnsibleFilterError,
"192.168.144.0/30 is not in the subnet 192.168.144.4/30",
):

View File

@ -0,0 +1,9 @@
[ansible]
skip =
py3.7
py3.8
2.9
2.10
2.11
2.12
2.13