-
Notifications
You must be signed in to change notification settings - Fork 456
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
refactor: migrate to starflow #5225
base: main
Are you sure you want to change the base?
Conversation
.shellcheckrc
Outdated
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.
Was meant to be temporary, was almost accidentally forever
TESTING.md
Outdated
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.
Superceded by changes to HACKING.md
manual-tests.md
Outdated
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.
Was more or less all outdated information and references to files that were no longer there
runtests.sh
Outdated
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.
Outdated - referenced files that were no longer there
tools/environment-setup-local.sh
Outdated
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.
This file (along with many of the other tools) were either outdated or superceded by the starbase makefile
units.py
Outdated
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.
This file was outdated, from a time before pytest
43fe672
to
0b7568b
Compare
uses: canonical/starflow/.github/workflows/test-python.yaml@main | ||
with: | ||
# Snapcraft currently only tests on Python 3.12 on Ubuntu 24.04 | ||
fast-test-platforms: '["ubuntu-24.04"]' |
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.
@sergiusens should we be using self-hosted runners for this or GH-hosted ones?
appveyor.yml
Outdated
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.
Do we even need this file anymore?
e6cf350
to
14aa893
Compare
f94b42f
to
4f48911
Compare
8b77814
to
c87752f
Compare
data_files is deprecated, so changes to common.py compensate for the change needed to remove its use
This commit doesn't remove any entries, it only organizes them into nice categories
The only part of TESTING.md that remained relevant to modern Snapcraft was the information on Spread, which itself was slightly out of date. This migrates that Spread info to HACKING.MD and deletes the rest.
requirements-noble.txt cannot be built by Trivy and there's no reason for us to scan spread tests
c87752f
to
4df5913
Compare
The spread test failures look like inconsequential changes to yaml formatting, so those should be quick fixes. |
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.
This is spooky (in a good way). I ran make setup
and make test-fast
and within a few seconds I was running unit tests.
I have a few nitpicks but overall everything looks great! This will significantly improve developing and lower the barrier to entry for community contributions.
I'm wondering if this PR is a good time to merge starbase's git history into Snapcraft. The advantage of doing this is that subsequent starbase commits can be brought into Snapcraft with small and easy git merge
s.
@@ -35,7 +35,7 @@ append_dir QML2_IMPORT_PATH "$SNAP_DESKTOP_RUNTIME/lib/$ARCH" | |||
# Fix locating the QtWebEngineProcess executable | |||
export QTWEBENGINEPROCESS_PATH="$SNAP_DESKTOP_RUNTIME/usr/lib/qt6/libexec/QtWebEngineProcess" | |||
# And QtWebEngine's path to resources | |||
QTWEBENGINE_RESOURCES_PATH="$SNAP_DESKTOP_RUNTIME/usr/share/qt6/resources" | |||
export QTWEBENGINE_RESOURCES_PATH="$SNAP_DESKTOP_RUNTIME/usr/share/qt6/resources" |
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.
Did shellcheck pick this up?
It seems safe and the correct thing to do. I just need to add this to the next release notes.
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.
Yeah, Shellcheck found this and I'm pretty sure this change fixes a bunch of Qt related snap issues
@echo ::endgroup:: | ||
endif | ||
|
||
.PHONY: lint-docs |
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.
I get this for every make target:
> make lint
Makefile:26: warning: overriding recipe for target 'lint-docs'
common.mk:166: warning: ignoring old recipe for target 'lint-docs'
I'm guessing because it's defined in both files?
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.
Yes. Unfortunately IDK how to override this lint-docs without getting that.
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.
I'm fine to leave this as-is in favor of landing the PR sooner.
APT := apt-get | ||
endif | ||
|
||
PRETTIER=npm exec --package=prettier -- prettier |
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.
pedantic: this line causes make lint
to have a few hundred lines of output, one for each file.
Maybe --log-level warn
?
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.
Makes sense to me. We can also override this in Makefile
if we want.
@@ -0,0 +1,3 @@ | |||
# Update this by finding the latest version of the tarball at https://launchpad.net/ubuntu/noble/+source/python-apt |
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.
🙏
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.
Is this new content or the same content but formatted?
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.
The exact same, just a super bad diff. Looks like it just got mass-de-dented.
|
||
version="$(python3 setup.py --version)" | ||
${SNAP}/libexec/snapcraft/craftctl set version="$version" | ||
version=$(PYTHONPATH=/root/parts/snapcraft/install/lib/python3.12/site-packages python3 -c "import snapcraft;print(snapcraft.__version__)") |
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.
version=$(PYTHONPATH=/root/parts/snapcraft/install/lib/python3.12/site-packages python3 -c "import snapcraft;print(snapcraft.__version__)") | |
version=$(PYTHONPATH=$CRAFT_PART_INSTALL/lib/python3.12/site-packages python3 -c "import snapcraft;print(snapcraft.__version__)") |
root_mounts = collections.defaultdict( | ||
list | ||
) # type: Dict[str, List[Mount]] # noqa | ||
root_mounts = collections.defaultdict(list) # type: Dict[str, List[Mount]] # noqa |
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.
lol type comments
restore: | ||
| # If this next line fails, delete it and replace it with the one following it |
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.
Can you drop this outdated comment and move the pipe symbol back to where it belongs?
This seems like a bug in the formatter.
@@ -4,7 +4,8 @@ prepare: | | |||
#shellcheck source=tests/spread/tools/snapcraft-yaml.sh | |||
. "$TOOLS_DIR/snapcraft-yaml.sh" | |||
|
|||
restore: | # If this next line fails, delete it and replace it with the one following it | |||
restore: | |||
| # If this next line fails, delete it and replace it with the one following it |
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.
Same here
That's the plan! I'm leaving that rebase out of this PR until it's time to merge so that the commit history is easier on reviewers. |
tox run -m lint
?tox run -e test-py310
? (supported versions:py39
,py310
,py311
,py312
)Should be reviewable on a commit-by-commit basis. Comments will be left on individual files explaining why some changes were necessary. As some words of encouragement: about 250 of the file changes were purely from
make format
!