Skip to content
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

Move remaining CircleCI jobs to GitHub Actions #1841

Merged
merged 2 commits into from Feb 21, 2024
Merged

Move remaining CircleCI jobs to GitHub Actions #1841

merged 2 commits into from Feb 21, 2024

Conversation

legoktm
Copy link
Member

@legoktm legoktm commented Feb 15, 2024

Status

Ready for review, will need infra to do merge

Description

Standardize make lint target in components

In some places the lint target is just flake8 and in others it runs
all linters. Adopt the latter definition to ensure that make lint runs
all tools that don't run any code.

Move remaining CircleCI jobs to GitHub Actions

ci.yml's "component-lint" job runs make lint in all four components,
and varies by Debian version (except proxy/bookworm).

test.yml's "component" job runs make test in all components except
client. The "client" job runs the test-functional, test-integration, and
test-random targets and installs the extra dependencies needed (now in
client/Makefile).

test.yml also has "internationalization", which checks strings have been
extracted and are reproducible.

Some parts of GitHub's UI makes it inconvenient to have a ton of jobs in
one file, so tests have been split out into their own for solely that
reason.

Dependencies that aren't needed were dropped as part of this (e.g.
libnotify-bin, libmagic1, python3-dev, etc.). Same with the export PYTHONPATH=$PYTHONPATH:. pattern (the current directory is always on
the Python path...).

Test Plan

  • Spot check each job is running the correct commands
  • Check that everything in the now-deleted CircleCI config is ported over
  • infra: Disconnect from CircleCI
  • infra: Move "Required" label from CircleCI jobs to corresponding GHA jobs

In some places the `lint` target is just flake8 and in others it runs
all linters. Adopt the latter definition to ensure that `make lint` runs
all tools that don't run any code.
ci.yml's "component-lint" job runs `make lint` in all four components,
and varies by Debian version (except proxy/bookworm).

test.yml's "component" job runs `make test` in all components except
client. The "client" job runs the test-functional, test-integration, and
test-random targets and installs the extra dependencies needed (now in
client/Makefile).

test.yml also has "internationalization", which checks strings have been
extracted and are reproducible.

Some parts of GitHub's UI makes it inconvenient to have a ton of jobs in
one file, so tests have been split out into their own for solely that
reason.

Dependencies that aren't needed were dropped as part of this (e.g.
libnotify-bin, libmagic1, python3-dev, etc.). Same with the `export
PYTHONPATH=$PYTHONPATH:.` pattern (the current directory is always on
the Python path...).
@legoktm legoktm requested a review from a team as a code owner February 15, 2024 23:53
@leee leee merged commit b2fa225 into main Feb 21, 2024
70 of 71 checks passed
@leee leee deleted the gha branch February 21, 2024 20:59
leee pushed a commit that referenced this pull request Feb 21, 2024
Move remaining CircleCI jobs to GitHub Actions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

2 participants