-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DPE-2904] Switch to self hosted runners #285
Merged
Merged
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
aae0623
DO NOT MERGE test self-hsoted runners
carlcsaposs-canonical 086e1c8
Remove groups
carlcsaposs-canonical fe57a4b
Add group markers
carlcsaposs-canonical eaa88eb
fix pythonpath
carlcsaposs-canonical ae4ab8e
Switch to relative imports
dragomirp fbd411b
Switch to binary psycopg2 for test deps
dragomirp 2a7fc5f
Merge branch 'main' into self-hosted-test
dragomirp 49fe260
Conditionally skip tests
dragomirp ceb55b4
Merge branch 'main' into self-hosted-test
dragomirp 8e3fd79
Bump timeouts
dragomirp 8376626
Skipping fixtures and bump in timeouts
dragomirp 24c9f8c
Juju matrix
dragomirp d7afbbc
Revert "Juju matrix"
dragomirp 817c2fc
Juju2 job
dragomirp 2a0a3d3
Revert backup changes
dragomirp 6ca421d
Bump timeouts
dragomirp 3f53621
Switch to dpw 6
dragomirp 041a27f
More timeout bumps
dragomirp 7fe7d07
Increase timeouts
dragomirp 3efea85
Bump dpw
dragomirp b36e1e4
Merge branch 'main' into dpe-2904-self-hosted
dragomirp 276aab9
Merge branch 'main' into dpe-2904-self-hosted
dragomirp 48f74cb
Depend on unit tests
dragomirp 60b8927
Increase timeouts
dragomirp b42298b
Skip additional backup test when secrets are not accessible
dragomirp c62d355
Even more timouts
dragomirp 6446751
Retry getting password if no primary was found
dragomirp 8719f03
Timeouts
dragomirp 47319f2
Bump dpw
dragomirp c68a6d5
Try to preenable plpython
dragomirp b10669b
Merge branch 'main' into dpe-2904-self-hosted
dragomirp 4fe0461
Add markers and cleanup tox ini
dragomirp 6930157
Marks
dragomirp c9c9541
Switch to mainline workflow
dragomirp 5fcc419
Merge branch 'main' into dpe-2904-self-hosted
dragomirp 6e30d79
Merge branch 'main' into dpe-2904-self-hosted
dragomirp 3ce360c
Bump actions
dragomirp bf0f0ef
Matrix integration
dragomirp 3311cda
Update contributing
dragomirp 3b20d75
Use the right workflow
dragomirp 88af371
Bump action
dragomirp File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,7 +22,7 @@ on: | |
jobs: | ||
lint: | ||
name: Lint | ||
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v5.1.2 | ||
uses: canonical/data-platform-workflows/.github/workflows/lint.yaml@v6.3.2 | ||
|
||
unit-test: | ||
name: Unit test charm | ||
|
@@ -42,100 +42,35 @@ jobs: | |
|
||
build: | ||
name: Build charm | ||
uses: canonical/data-platform-workflows/.github/workflows/build_charms_with_cache.yaml@v5.1.2 | ||
uses: canonical/data-platform-workflows/.github/workflows/build_charms_with_cache.yaml@v6.3.2 | ||
permissions: | ||
actions: write # Needed to manage GitHub Actions cache | ||
|
||
gh-hosted-integration-test: | ||
|
||
integration-test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
tox-environment: | ||
- backup-integration | ||
- charm-integration | ||
- database-relation-integration | ||
- db-relation-integration | ||
- db-admin-relation-integration | ||
- ha-replication-integration | ||
- ha-self-healing-integration | ||
- ha-restore-cluster-integration | ||
- password-rotation-integration | ||
- plugins-integration | ||
- tls-integration | ||
- upgrade-integration | ||
- upgrade-from-stable-integration | ||
juju-snap-channel: ["2.9/stable", "3.1/stable"] | ||
exclude: | ||
# Admin tests need landscape on juju 2 | ||
- tox-environment: db-admin-relation-integration | ||
juju-snap-channel: "3.1/stable" | ||
include: | ||
- juju-snap-channel: "3.1/stable" | ||
agent-version: "3.1.6" | ||
libjuju-version: "3.2.2" | ||
exclude-mark: "juju2" | ||
- juju-snap-channel: "2.9/stable" | ||
agent-version: "2.9.45" | ||
libjuju-version: "2.9.45.0" | ||
exclude-mark: "juju3" | ||
name: ${{ matrix.juju-snap-channel }} - (GH hosted) ${{ matrix.tox-environment }} | ||
juju: | ||
- agent: 2.9.45 | ||
libjuju: ^2 | ||
- agent: 3.1.6 | ||
name: Integration test charm | ${{ matrix.juju.agent }} | ||
needs: | ||
- lint | ||
- unit-test | ||
- build | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 120 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Install tox & poetry | ||
run: | | ||
pipx install tox | ||
pipx install poetry | ||
- name: Free up disk space | ||
run: | | ||
# From https://github.com/actions/runner-images/issues/2840#issuecomment-790492173 | ||
sudo rm -rf /usr/share/dotnet | ||
sudo rm -rf /opt/ghc | ||
sudo rm -rf /usr/local/share/boost | ||
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | ||
- name: Setup operator environment | ||
uses: charmed-kubernetes/actions-operator@main | ||
with: | ||
provider: lxd | ||
bootstrap-options: "--agent-version ${{ matrix.agent-version }}" | ||
juju-channel: ${{ matrix.juju-snap-channel }} | ||
- name: Update python-libjuju version | ||
if: ${{ matrix.juju-snap-channel == '2.9/stable' }} | ||
run: poetry add --lock --group integration juju@'${{ matrix.libjuju-version }}' | ||
- name: Download packed charm(s) | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: ${{ needs.build.outputs.artifact-name }} | ||
- name: Select test stability level | ||
id: select-test-stability | ||
run: | | ||
if [[ "${{ github.event_name }}" == "schedule" ]] | ||
then | ||
echo Running unstable and stable tests | ||
echo "mark_expression=" >> "$GITHUB_OUTPUT" | ||
else | ||
echo Skipping unstable tests | ||
echo "mark_expression=and not unstable" >> "$GITHUB_OUTPUT" | ||
fi | ||
- name: Select test secret usage | ||
id: select-test-secrets | ||
if: ${{ github.event.pull_request.head.repo.full_name != 'canonical/postgresql-operator' }} | ||
run: | | ||
echo Skipping tests using secrets | ||
echo "mark_secrets=and not uses_secrets" >> "$GITHUB_OUTPUT" | ||
- name: Run integration tests | ||
run: tox run -e ${{ matrix.tox-environment }} -- -m 'not ${{ matrix.exclude-mark }} ${{ steps.select-test-secrets.outputs.mark_secrets }} ${{ steps.select-test-stability.outputs.mark_expression }}' --keep-models | ||
env: | ||
SECRETS_FROM_GITHUB: | | ||
{ | ||
"AWS_ACCESS_KEY": "${{ secrets.AWS_ACCESS_KEY }}", | ||
"AWS_SECRET_KEY": "${{ secrets.AWS_SECRET_KEY }}", | ||
"GCP_ACCESS_KEY": "${{ secrets.GCP_ACCESS_KEY }}", | ||
"GCP_SECRET_KEY": "${{ secrets.GCP_SECRET_KEY }}", | ||
} | ||
uses: canonical/data-platform-workflows/.github/workflows/[email protected] | ||
with: | ||
artifact-name: ${{ needs.build.outputs.artifact-name }} | ||
cloud: lxd | ||
juju-agent-version: ${{ matrix.juju.agent }} | ||
libjuju-version-constraint: ${{ matrix.juju.libjuju }} | ||
secrets: | ||
integration-test: | | ||
{ | ||
"AWS_ACCESS_KEY": "${{ secrets.AWS_ACCESS_KEY }}", | ||
"AWS_SECRET_KEY": "${{ secrets.AWS_SECRET_KEY }}", | ||
"GCP_ACCESS_KEY": "${{ secrets.GCP_ACCESS_KEY }}", | ||
"GCP_SECRET_KEY": "${{ secrets.GCP_SECRET_KEY }}", | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It doesn't seem to be a simple way to use a matrix with a reusable workflow, so I've added a two separate tasks to run the workflow for juju2 and juju3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's possible, see here for simple example: https://github.com/canonical/mysql-operator/pull/354/files