- Notifications
You must be signed in to change notification settings - Fork 18
Switching CI to GitHub actions#378
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
Uh oh!
There was an error while loading. Please reload this page.
Conversation
* tox.ini: tox-gh-actions integration * tox.ini: lint removed from envlist, default scope is test-only * workflows: test job added (matrixed) * workflows: lint job is separated, no-matrix, non-blocking on failure * workflows: reusable env lifting steps factored out into ./github/actions
dividedmind left a comment
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.
Looks good, however I realized we seem to have lost access to the applandrobot pypi user — this might be a good excuse to set up OIDC connect publishing, see https://docs.pypi.org/trusted-publishers/
Could you take a look a that?
🎉 This PR is included in version 2.1.9-dev.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
dividedmind commented Nov 17, 2025
@hleb-rubanau any progress? Do you need anything from me? |
hleb-rubanau commented Nov 17, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
@dividedmind in fact, new version is kinda ready for a while -- I just was delayed with final test (which happens to also include workarounds for lost ownership on testpypi). Hopefully will conduct it today and push changes. |
…ch policies under .releaserc, publish to pypi via trusted publishing mechanism
hleb-rubanau commented Nov 24, 2025
@dividedmind I've significantly reworked the whole flow Key changes:
Remark: I occasionally occupied project 'appmap' on the test.pypi.org and locked myself out of account. That was the reason to use altered distribution names in testpypi publishing flow. Documentation of testpypi promises regular wiping of accounts and assets so we can just wait for some time. If project and my abandoned acc stay there for long, I will try to reach out to platform administrators with explicit deletion request |
dividedmind left a comment
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.
Ok, LGTM!
I've added getappmap/appmap-python release.yml to trusted publishers. Anything else I need to do?
hleb-rubanau commented Nov 25, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
No, it should be sufficient. We can merge and check. Also I see someone needs to disable all Travis-related setttings in repo (right now github expects Travis CI check to be completed, which won't happen, because of toggles disabled on Travis side). |
dividedmind commented Nov 25, 2025 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Ugh, I wanted to change the branch protection to remove travis and add the gh, but it seems I'd have to add all the matrix jobs one by one. Gemini suggests adding a rollup job to simplify this: # ... existing jobs ...# Add this new job at the end of your filecheck_enforce: name: Check (Rollup)runs-on: ubuntu-latest# Make sure this 'needs' matches the name of your matrix jobneeds: [test]if: always()steps: - name: Check build matrix statusrun: | # Check the status of the 'test' job (which includes all matrix variations) if [ "${{needs.test.result }}" != "success" ]; then echo "One or more matrix jobs failed." exit 1 fi echo "All matrix jobs passed."Makes sense to me, more or less, what do you think? Can you add it if you think it's a good idea? |
dividedmind commented Nov 25, 2025
(It looked like there is a way to make the rule conditional on workflow, not check, but it seems to be only available to enterprise github for now, so do go ahead with the rollup check if you agree it makes sense.) |
…rollup check of matrix tests status
8037796 into masterUh oh!
There was an error while loading. Please reload this page.
This pull request reproduces previous Travis workflow on GithubActions with some tweaks & enhancements.
Key features:
master)mastere.g. during debug onci/**, artifacts are pushed to testpypi instead of main repo (condition is configurable)Examples:
After review and before merging:
POETRY_PYPI_TOKEN_PYPI(pypi user -- https://pypi.org/user/applandrobot/ )DOCKERHUB_PASSWORDfor applandinc user (this is optional but nice-to-have)