Skip to content

Migrate CI from CircleCI to GitHub Actions#75

Merged
nsaje merged 9 commits into
masterfrom
copilot/move-to-github-actions
Jan 27, 2026
Merged

Migrate CI from CircleCI to GitHub Actions#75
nsaje merged 9 commits into
masterfrom
copilot/move-to-github-actions

Conversation

Copilot AI commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

Migration Plan: CircleCI to GitHub Actions

Based on the current CircleCI configuration and the socketshark example, here's the plan:

  • Create .github/workflows/test.yaml workflow file
    • Add lint job with black and ruff checks (Python 3.10)
    • Add test job with Python 3.10, 3.11, 3.12, 3.13, and 3.14 matrix
    • Configure MongoDB service for tests (using mongo:6.0.18)
    • Set up proper dependency installation
    • Configure test execution (using pytest directly)
    • Add explicit permissions for security
    • Fix MongoDB connection using environment variable
    • Fix lint formatting
    • Configure workflow to trigger on push only
  • Remove CircleCI configuration (.circleci/config.yml)
  • Request code review and address feedback
  • Run security check with CodeQL (passed)
  • Fix CI build failures
Original prompt

This section details on the original issue you should resolve

<issue_title>Move from CircleCI to Github Actions</issue_title>
<issue_description>use https://github.com/closeio/socketshark/blob/master/.github/workflows/test.yaml as an example</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits January 23, 2026 07:04
Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>
Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>
…ctly

Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>
Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>
Copilot AI changed the title [WIP] Move CI configuration from CircleCI to GitHub Actions Migrate CI from CircleCI to GitHub Actions Jan 23, 2026
Copilot AI requested a review from nsaje January 23, 2026 07:08
@nsaje

nsaje commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

@copilot getting error pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 69731e7a23f104cf4cc651f6, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [Errno 111] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>

Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>

Copilot AI commented Jan 23, 2026

Copy link
Copy Markdown
Contributor Author

@copilot getting error `pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Time...

Fixed in commit cbf3490. The issue was that when running tests in a GitHub Actions container, the MongoDB service is accessible via the service name mongo, not localhost. Added MONGODB_HOST: mongo environment variable to the workflow and updated the test fixture to use os.environ.get("MONGODB_HOST", "localhost") so it works both in CI and locally.

@nsaje

nsaje commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

@copilot fix lint and bump mongo version to 6

Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>

Copilot AI commented Jan 23, 2026

Copy link
Copy Markdown
Contributor Author

@copilot fix lint and bump mongo version to 6

Done in commit 3430ac1. Fixed Black formatting in test_mongo.py and bumped MongoDB from 3.6.23 to 6.0.18 (also updated health check command to use mongosh instead of deprecated mongo CLI).

@nsaje

nsaje commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

@copilot only test python versions 3.10 - 3.14

Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>

Copilot AI commented Jan 23, 2026

Copy link
Copy Markdown
Contributor Author

@copilot only test python versions 3.10 - 3.14

Updated in commit 628f740. Changed test matrix to Python 3.10, 3.11, 3.12, 3.13, and 3.14. Also updated the lint job to use Python 3.10.

@nsaje nsaje marked this pull request as ready for review January 23, 2026 08:04
@nsaje nsaje requested a review from AlecRosenbaum January 23, 2026 08:04
@nsaje

nsaje commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

We should probably vendor this but it's still referenced in cleanchausie as well. Was easier to just ask copilot to migrate :)

Comment thread .github/workflows/test.yaml Outdated
@@ -0,0 +1,52 @@
name: test-workflow

on: [push, pull_request, workflow_dispatch]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot trigger on push only

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in commit 912ef03. Workflow now triggers on push events only.

Co-authored-by: nsaje <156006+nsaje@users.noreply.github.com>
Copilot AI requested a review from nsaje January 23, 2026 08:26
@nsaje nsaje merged commit acce08b into master Jan 27, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move from CircleCI to Github Actions

3 participants