Skip to content

Commit

Permalink
ci: enable github workflow
Browse files Browse the repository at this point in the history
- github workflow
- Remove unused dependency
- Drop bionic
  • Loading branch information
jneo8 committed Jan 16, 2024
1 parent a320aaa commit ad3e769
Show file tree
Hide file tree
Showing 12 changed files with 130 additions and 10 deletions.
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This is a template `CODEOWNERS` file for ops charms
# This file is managed by bootstack-charms-spec and should not be modified
# within individual charm repos. https://launchpad.net/bootstack-charms-spec

# For more information about CODEOWNER, please refer to
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#example-of-a-codeowners-file

# These owners will be the default owners for everything in the repo. Unless a
# later match takes precedence, @canonical/bootstack will be requested for
# review when someone opens a pull request.
* @canonical/soleng-reviewers

44 changes: 44 additions & 0 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Check workflow running linter, unit and functional tests

on:
workflow_call:
pull_request:
types: [opened, synchronize, reopened]
branches: [master, main]
paths-ignore:
- "**.md"
- "**.rst"

jobs:
lint-unit:
uses: canonical/bootstack-actions/.github/workflows/lint-unit.yaml@v2
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.10"]
with:
python-version: ${{ matrix.python-version }}
tox-version: "<4"

func:
uses: canonical/bootstack-actions/.github/workflows/func.yaml@v3-external-openstack
needs: lint-unit
strategy:
fail-fast: false
with:
command: "make functional31"
juju-channel: "3.1/stable"
nested-containers: false
provider: "lxd"
python-version: "3.10"
timeout-minutes: 120
tox-version: "<4"
runs-on: "['self-hosted', 'runner-juju-local-a']"
action-operator: false
external-controller: true
juju-controller: soleng-ci-ctrl
zaza-yaml: "LS0tCm1vZGVsX3NldHRpbmdzOgogIGltYWdlLXN0cmVhbTogcmVsZWFzZWQKcmVnaW9uOiBwcm9kc3RhY2s2CmNsb3VkOiBidWlsZGVyLWNsb3VkCmNyZWRlbnRpYWw6IGJ1aWxkZXItY2xvdWQtY3JlZAo="
secrets:
juju-controllers-yaml: ${{ secrets.JUJU_CONTROLLERS_YAML }}
juju-accounts-yaml: ${{ secrets.JUJU_ACCOUNTS_YAML }}
openstack-auth-env: ${{ secrets.OPENSTACK_AUTH_ENV }}
25 changes: 25 additions & 0 deletions .github/workflows/issues_to_jira.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This is a template `issues_to_jira.yaml` file for ops charms
# This file is managed by bootstack-charms-spec and should not be modified
# within individual charm repos. https://launchpad.net/bootstack-charms-spec

# This workflow requires to provide JIRA webhook URL via JIRA_URL GitHub Secret.
#
# Read more:
# https://support.atlassian.com/cloud-automation/docs/jira-automation-triggers/#Automationtriggers-Incomingwebhook
#
# Original code source:
# https://github.com/beliaev-maksim/github-to-jira-automation

name: Issues to JIRA

on:
issues:
# available via github.event.action
types: [opened, reopened, closed]

jobs:
update:
name: Update Issue
uses: beliaev-maksim/github-to-jira-automation/.github/workflows/issues_to_jira.yaml@master
secrets:
JIRA_URL: ${{ secrets.JIRA_URL }}
25 changes: 25 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This is a template `release.yaml` file for ops charms
# This file is managed by bootstack-charms-spec and should not be modified
# within individual charm repos. https://launchpad.net/bootstack-charms-spec

name: Release to Edge

on:
push:
branches: [master, main]

concurrency:
group: release
cancel-in-progress: true

jobs:
check:
uses: ./.github/workflows/check.yaml

release:
needs: check
uses: canonical/bootstack-actions/.github/workflows/charm-release.yaml@v2
secrets: inherit
with:
channel: "latest/edge"
upload-image: false
17 changes: 17 additions & 0 deletions .github/workflows/sonar.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# This is a template `sonar.yaml` file for ops charms
# This file is managed by bootstack-charms-spec and should not be modified
# within individual charm repos. https://launchpad.net/bootstack-charms-spec

name: SonarCloud
on:
workflow_run:
workflows:
- PR workflow running lint checkers, unit and functional tests
types: [completed]

jobs:
sonar:
uses: canonical/bootstack-actions/.github/workflows/sonar.yaml@main
secrets: inherit
with:
workflow-name: PR workflow running lint checkers, unit and functional tests
4 changes: 0 additions & 4 deletions charmcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,3 @@ bases:
channel: "20.04"
architectures:
- amd64
- name: ubuntu
channel: "18.04"
architectures:
- amd64
2 changes: 1 addition & 1 deletion tests/functional/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
git+https://github.com/openstack-charmers/[email protected]#egg=zaza
git+https://github.com/jneo8/[email protected]-config-cred#egg=zaza
1 change: 0 additions & 1 deletion tests/functional/tests/bundles/bionic.yaml

This file was deleted.

1 change: 0 additions & 1 deletion tests/functional/tests/bundles/overlays/bionic.yaml.j2

This file was deleted.

1 change: 0 additions & 1 deletion tests/functional/tests/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ gate_bundles:
- focal-juju3
- jammy
- focal
- bionic
dev_bundles:
- jammy-juju3
- jammy
Expand Down
2 changes: 1 addition & 1 deletion tests/functional/tests/tests_juju_local.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def setUpClass(cls):
cls.model_name = model.get_juju_model()
cls.test_config = lifecycle_utils.get_charm_config()
model.block_until_all_units_idle()
# Add a test model in the remote Juju cloud
# Add a test model in the remote Juju cloud
# This is needed becuase in Juju 3.x there's no default model created
# after bootstrapping the controller
cls.remote_juju(["add-model", "test"], None)
Expand Down
6 changes: 5 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ passenv =
setenv =
PYTHONPATH = .

[testenv:unit]
changedir = {toxinidir}/tests/functional
commands = echo "No unit tests available at the moment"
allowlist_externals = echo

[testenv:func]
changedir = {toxinidir}/tests/functional
deps =
Expand All @@ -23,7 +28,6 @@ commands = functest-run-suite --keep-faulty-model {posargs}
changedir = {toxinidir}/tests/functional
deps =
-r {toxinidir}/tests/functional/requirements.txt
git+https://github.com/esunar/zaza.git@fix-normalise_action_results#egg=zaza[juju-31]
commands = functest-run-suite --keep-faulty-model {posargs}

[testenv:func-smoke]
Expand Down

0 comments on commit ad3e769

Please sign in to comment.