Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
5b361ed
feat: add support for adjusting kayobe inputs
jackhodgkiss Aug 21, 2023
e559e46
feat: build image on `workflow_dispatch`
jackhodgkiss Aug 21, 2023
ad5243e
feat: push latest and SHA tagged images
jackhodgkiss Aug 21, 2023
561c6ef
feat: bump `image` used when building kayobe image
jackhodgkiss Aug 21, 2023
851b23f
feat: add `github_image_tag` variable
jackhodgkiss Aug 21, 2023
678c768
fix: add missing `github_` prefix on kayobe args
jackhodgkiss Aug 21, 2023
0a16b25
feat: add missing kayobe arguments
jackhodgkiss Aug 21, 2023
6e2a105
feat: add support for inline buildx config
jackhodgkiss Aug 23, 2023
69a122a
feat: remove redundant `arguments`
jackhodgkiss Aug 24, 2023
8299d84
feat: reduce duplication `env` arguments
jackhodgkiss Aug 24, 2023
419fbd1
feat: reduce excess `workflow_dispatch` arguments
jackhodgkiss Aug 24, 2023
ae573f8
fix: set `RALLY_DOCKER_` using existing vars
jackhodgkiss Aug 24, 2023
c40c184
fix: add missing newline
jackhodgkiss Aug 24, 2023
3a541ae
fix: set permissions to write for `packages`
jackhodgkiss Aug 24, 2023
73a17b1
feat: add support for defining `timeout-minutes`
jackhodgkiss Aug 24, 2023
75581e8
feat: add workflow to test collection
jackhodgkiss Aug 24, 2023
fc24b87
fix: add `!unsafe` on vars to avoid eval
jackhodgkiss Aug 24, 2023
37415d6
feat: add support for collecting test artifacts
jackhodgkiss Aug 24, 2023
b0a4d90
feat: update documentation
jackhodgkiss Aug 25, 2023
6893622
Use separate directories for building and running
technowhizz Sep 1, 2023
02312aa
Pin buildkit and buildx versions
technowhizz Sep 5, 2023
4b8b297
Add flag to disable provenance
technowhizz Sep 5, 2023
796a275
Update roles/github/README.md
technowhizz Sep 6, 2023
bff6590
Update roles/github/defaults/main.yml
technowhizz Sep 6, 2023
e6654e4
Update roles/github/defaults/main.yml
technowhizz Sep 6, 2023
1a77ebc
Merge pull request #6 from stackhpc/provenance
jackhodgkiss Sep 6, 2023
1e333f6
Merge pull request #5 from stackhpc/different-dirs
jackhodgkiss Sep 6, 2023
f58b587
fix: move `path` under `with`
jackhodgkiss Sep 16, 2023
f522fda
feat: allow for `buildx` to be toggled on or off
jackhodgkiss Sep 16, 2023
45a3982
feat: provide control over kayobe base image used
jackhodgkiss Sep 16, 2023
d600947
fix: `=` not `:`
jackhodgkiss Sep 16, 2023
8087abb
feat: adjust permissions for workflows
jackhodgkiss Sep 16, 2023
297695e
fix: resolve issue with tempest logging in with `Jinja`
jackhodgkiss Sep 16, 2023
d9619a2
feat: provide greater control over `packages` permissions
jackhodgkiss Sep 16, 2023
10451b8
feat: add basic `concurrency`
jackhodgkiss Sep 16, 2023
ed93f14
fix: explicitly set `tempest` concurrency group
jackhodgkiss Sep 16, 2023
976f00b
feat: provide control over tempest test suites.
jackhodgkiss Sep 16, 2023
51b5667
fix: remove unused variables
jackhodgkiss Sep 18, 2023
e19e57d
fix: request a token with `pull-request` write support
jackhodgkiss Sep 27, 2023
3c960d4
fix: add `github_` prefix to variable
jackhodgkiss Sep 27, 2023
4bb6629
feat: only set `pull-requests` to `write` when needed
jackhodgkiss Sep 27, 2023
777cf7b
fix: add missing quotes
jackhodgkiss Sep 27, 2023
748bd1b
fix: flatten `workflow.argument` for `pull-requests`
jackhodgkiss Sep 27, 2023
f20ebd4
feat: set `r/w` permissions for `contents`
jackhodgkiss Sep 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/test-collection.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Test stackhpc.kayobe_workflows collection
'on':
pull_request:

jobs:
test:
name: Test github role
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v3

- name: Set up Python 3.
uses: actions/setup-python@v4
with:
python-version: '3.x'

- name: Install Ansible
run: pip3 install ansible

- name: Test the playbook.
run: ansible-playbook tests/test.yml
env:
ANSIBLE_FORCE_COLOR: '1'

- name: Upload workflows produced
uses: actions/upload-artifact@v3
with:
name: github_kayobe_workflows
path: tests/.github/workflows
25 changes: 22 additions & 3 deletions roles/github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,37 @@ The following variables can be used to make small adjustments to the composition

`github_runs_on`: control which runner can accept this workflow. See GitHub for more information on [runs-on](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on).

`github_image_url`: full URL of the kayobe container image complete with registry and tag.
`github_image_name`: name of the kayobe image defaults to `kayobe`.

`github_image_tag`: tag used to select kayobe image defaults to `latest`

`github_registry_username`: username used to authenticate with the docker registry.

`github_registry_password`: password used to authenticate with the docker registry.

`github_kayobe_base_image`: select the base image used when building the kayobe docker image. Default is `quay.io/centos/centos:stream8` supports OpenStack Wallaby, Xena and Yoga. Zed and higher would require `quay.io/rockylinux/rockylinux:9`.

`github_kayobe_arguments`: a dictionary of arguments that can be used to override the default arguments found within `vars/main.yml`. For example if you wanted to change the value of `KAYOBE_ENVIRONMENT` from its default of `production` you can simply add `KAYOBE_ENVIRONMENT` to this dictionary and it will take precedence over the defaults.

`github_*_hook:` see section [Template Hooks](#template-hooks) for information about this variables

`github_buildx_enable`: In some deployments the build kayobe docker image workflow has had difficulties successfully pushing the image to container registries such as Pulp if buildx has been used. It situations where failure to push images is been experienced a user might wish to disable buildx. Buildx is enabled by default.

`github_buildx_inline_config`: provide configuration parameters to buildx. Useful for connecting to insecure docker registry.

```yaml
github_buildx_inline_config: |
[registry."10.20.30.40:80"]
http = true
insecure = true
```

`github_buildx_enable_provenance`: whether or not to enable build attestations/provenence. This has been [noted](https://github.com/docker/build-push-action/releases/tag/v4.1.1) to cause issues with docker registries such as Pulp. Default to false.

`github_timeout`: control how a long a job may run before being cancelled. Timeout is defined in minutes and defaults to 360 minutes (6 hours)

`github_tempest_test_suites`: provide a list of load lists to be made available within the drop-down list for running tempest. Defaults to `default` and `tempest-full`.

If you wish to make more impactful changes such as which workflows are built and what they contain then see the list of dictionaries called `workflows` in `defaults/main.yml`

`github_workflows:` is a list of dictionaries that contains each of the workflows described above. A given list element is made up of the following:
Expand Down Expand Up @@ -80,8 +101,6 @@ github_build_kayobe_image:
path_override: "{{ playbook_dir }}/templates/build-kayobe-docker-image.yml.j2"
```



Template Hooks
--------------

Expand Down
Loading