Skip to content
This repository has been archived by the owner on Feb 6, 2025. It is now read-only.

Feat/app #4

Merged
merged 64 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
e11751a
try snap
yanksyoon Apr 22, 2024
faa8ba2
feat: initial application
yanksyoon May 29, 2024
aa41214
small change
yanksyoon May 29, 2024
703eb4d
small change
yanksyoon May 29, 2024
dab138f
Merge branch 'main' into feat/app
yanksyoon May 29, 2024
687563e
comment fixes
yanksyoon May 31, 2024
09b9f11
integration test
yanksyoon May 31, 2024
1121b3e
ci name for different archs
yanksyoon May 31, 2024
eaad317
install tox via pipx
yanksyoon May 31, 2024
3c118bc
fix mount step
yanksyoon May 31, 2024
7ad2689
add python version
yanksyoon May 31, 2024
fc38390
update setup python actions version
yanksyoon May 31, 2024
f74405c
matricize py
yanksyoon May 31, 2024
5b83147
use avail versions for arm64 py
yanksyoon May 31, 2024
db5dc9d
add comment for avail arm64 py versions
yanksyoon May 31, 2024
ec55cce
run on jammy builders
yanksyoon May 31, 2024
2630613
remove py matrix
yanksyoon May 31, 2024
7a37ea4
clean build state before compress
yanksyoon May 31, 2024
5859ad2
use private endpoint runners (openstack integration test)
yanksyoon May 31, 2024
9d7bd15
run on prv endpoint
yanksyoon May 31, 2024
66cf0d9
capture log outputs
yanksyoon Jun 3, 2024
d6cddec
log subprocess run outputs
yanksyoon Jun 3, 2024
450123e
test coverage
yanksyoon Jun 3, 2024
df231fc
address comments
yanksyoon Jun 3, 2024
6e5b90f
make script executable
yanksyoon Jun 3, 2024
d10ef20
refactor args
yanksyoon Jun 4, 2024
759ddd8
add checksum checking
yanksyoon Jun 4, 2024
9cd60f6
delete test file
yanksyoon Jun 4, 2024
504829a
execute callback script
yanksyoon Jun 4, 2024
e55f9ab
checksum validation bytes
yanksyoon Jun 4, 2024
b1576cd
add defensive exceptions for subprocess errors
yanksyoon Jun 4, 2024
8e1a478
raise on delete fail
yanksyoon Jun 4, 2024
4b57df4
test disconnect cleanup
yanksyoon Jun 4, 2024
3d4951d
separate disconnect
yanksyoon Jun 4, 2024
915bf4d
failure recovery
yanksyoon Jun 4, 2024
06dcc0c
chore: add retry to network related funcs
yanksyoon Jun 6, 2024
7094592
fix: unit tests
yanksyoon Jun 6, 2024
ea325eb
feat: arm build w/ no kvm
yanksyoon Jun 8, 2024
7c20ca5
feat: platform independent compression
yanksyoon Jun 8, 2024
013aaee
non-vm test
yanksyoon Jun 11, 2024
d93aa4e
lxd use virtual machine
yanksyoon Jun 11, 2024
d2214da
test: openstack runner test (arm64 cannot launch lxd due to kvm)
yanksyoon Jun 12, 2024
4a1f739
test: move markers to pyproject.toml
yanksyoon Jun 12, 2024
cf7f00b
test: add network name fixture
yanksyoon Jun 12, 2024
7b491a0
test: add flavor name fixture
yanksyoon Jun 12, 2024
605c447
test: fix typo
yanksyoon Jun 12, 2024
ecbf9aa
test: fix typo
yanksyoon Jun 12, 2024
e9764d9
test: fix typo
yanksyoon Jun 12, 2024
ea80807
chore: add proxy configs
yanksyoon Jun 12, 2024
4ec345f
catch tiemout for retry
yanksyoon Jun 12, 2024
12ee04a
openstack image upload arch
yanksyoon Jun 12, 2024
22e079a
increase ssh timeout
yanksyoon Jun 12, 2024
cd67146
add server info logging on exception
yanksyoon Jun 12, 2024
93c3461
debug
yanksyoon Jun 13, 2024
96000db
callback script abs pathing
yanksyoon Jun 13, 2024
36e6aeb
callback script abs pathing
yanksyoon Jun 13, 2024
122ee5f
pin versions
yanksyoon Jun 13, 2024
827471d
reload shell
yanksyoon Jun 14, 2024
1232bcf
lint fix
yanksyoon Jun 14, 2024
7c223ab
add path
yanksyoon Jun 14, 2024
6721de1
test: increase server create timeout
yanksyoon Jun 17, 2024
c9f7d90
test: wait for snapd
yanksyoon Jun 17, 2024
539ba32
test: async wait for
yanksyoon Jun 17, 2024
59ce40d
test: unexpected exit code
yanksyoon Jun 17, 2024
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
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Bug Report
description: File a bug report
labels: ["Type: Bug", "Status: Triage"]
body:
- type: markdown
attributes:
value: >
Thanks for taking the time to fill out this bug report! Before submitting your issue, please make
sure you are using the latest version of the app. If not, please switch to this image prior to
posting your report to make sure it's not already solved.
- type: textarea
id: bug-description
attributes:
label: Bug Description
description: >
If applicable, add screenshots to help explain the problem you are facing.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: To Reproduce
description: >
Please provide a step-by-step instruction of how to reproduce the behavior.
placeholder: |
1. pipx install .
2. github-runner-image-builder install
3. github-runner-image-builder build
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: >
We need to know a bit more about the context in which you run the app.
- Are you running the application locally, on lxd, in multipass or on some other platform?
- Version of any applicable components, like the pipx/pip lxd, and/or multipass.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: >
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
Fetch the logs using `github-runner-image-builder &> logs.txt`
render: shell
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context

17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/enhancement_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Enhancement Proposal
description: File an enhancement proposal
labels: ["Type: Enhancement", "Status: Triage"]
body:
- type: markdown
attributes:
value: >
Thanks for taking the time to fill out this enhancement proposal! Before submitting your issue, please make
sure there isn't already a prior issue concerning this. If there is, please join that discussion instead.
- type: textarea
id: enhancement-proposal
attributes:
label: Enhancement Proposal
description: >
Describe the enhancement you would like to see in as much detail as needed.
validations:
required: true
26 changes: 26 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
Applicable spec: <link>

### Overview

<!-- A high level overview of the change -->

### Rationale

<!-- The reason the change is needed -->


### Module Changes

<!-- Any high level changes to modules and why (Service, Observer, helper) -->

### Library/Dependency Changes

<!-- Any changes to libraries -->

### Checklist

- [ ] The [contributing guide](https://github.com/canonical/is-charms-contributing-guide) was applied
- [ ] The documentation is generated using `src-docs`
- [ ] The PR is tagged with appropriate label (`urgent`, `trivial`, `complex`)

<!-- Explanation for any unchecked items above -->
12 changes: 12 additions & 0 deletions .github/workflows/comment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Comment on the pull request

on:
workflow_run:
workflows: ["Tests"]
types:
- completed

jobs:
comment-on-pr:
uses: canonical/operator-workflows/.github/workflows/comment.yaml@main
secrets: inherit
49 changes: 49 additions & 0 deletions .github/workflows/integration_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Integration tests

on:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
integration-tests-arm:
name: Integration test (ARM64)
runs-on: [self-hosted, ARM64, jammy, stg-private-endpoint]
strategy:
matrix:
image: [jammy, noble]
steps:
- uses: actions/checkout@v4.1.7
- uses: canonical/setup-lxd@v0.1.1
- name: Install tox
run: |
sudo apt-get update
sudo apt-get install pipx -y
pipx ensurepath
pipx install tox
# need to run in sudo mode due to chroot
- name: Run integration tests
run: sudo $(which tox) -e integration -- -m arm64 --image=${{ matrix.image }} ${{ secrets.INTEGRATION_TEST_ARGS }}
- name: Tmate
if: ${{ failure() }}
uses: canonical/action-tmate@main
integration-tests-amd:
name: Integration test (X64)
runs-on: [self-hosted, X64, jammy, stg-private-endpoint]
strategy:
matrix:
image: [jammy, noble]
steps:
- uses: actions/checkout@v4.1.7
- uses: canonical/setup-lxd@v0.1.1
- name: Install tox
run: |
sudo apt-get update
sudo apt-get install pipx -y
pipx ensurepath
pipx install tox
# need to run in sudo mode due to chroot
- name: Run integration tests
run: sudo $(which tox) -e integration -- -m amd64 --image=${{ matrix.image }} ${{ secrets.INTEGRATION_TEST_ARGS }}
11 changes: 11 additions & 0 deletions .github/workflows/issues.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Sync issues to Jira

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

jobs:
issues-to-jira:
uses: canonical/operator-workflows/.github/workflows/jira.yaml@main
secrets: inherit
11 changes: 11 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: Tests

on:
pull_request:

jobs:
unit-tests:
uses: canonical/operator-workflows/.github/workflows/test.yaml@main
secrets: inherit
with:
self-hosted-runner: true
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# development cofig files
.vscode
.tox
**/__pycache__
.coverage
# build artefacts
build
*.img
**/*.egg-info
30 changes: 30 additions & 0 deletions .licenserc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
header:
license:
spdx-id: Apache-2.0
copyright-owner: Canonical Ltd.
content: |
Copyright [year] [owner]
See LICENSE file for licensing details.
paths:
- '**'
paths-ignore:
- '.github/**'
- '**/*.j2'
- '**/*.json'
- '**/*.md'
- '**/*.txt'
- '.codespellignore'
- '.copier-answers.yml'
- '.flake8'
- '.jujuignore'
- '.gitignore'
- '.licenserc.yaml'
- 'CODEOWNERS'
- 'icon.svg'
- 'LICENSE'
- '.pylintrc'
- '.woke.yaml'
- 'lib/**'
- 'tests/integration/testdata/**'
- 'tests/integration/data/**'
comment: on-failure
3 changes: 3 additions & 0 deletions .woke.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
rules:
# Ignore blacklist - we are using it to ignore bandit check
- name: blacklist
Loading
Loading