Skip to content

Conversation

@owencjones
Copy link
Contributor

Problem

Existing CI/CD pipeline had some issues:

  • Release was possible with a failing master branch
  • PRs didn't run linters
  • master could not be tested for releasability
  • Releases were a multistep process

Solution

  • Wrote new PR process
  • Wrote new merge to master process
  • Wrote new release process, triggered by schedule
  • Wrote new release process, triggered by semver tag creation
  • Added slack messaging on success
  • Added a large number of reusable Github workflows, for the reused code between jobs

Changelog

Added 5 new Gitgub event handler workflows
Added 11 new Github resuable jobs
Added 5 deployment utility scripts
Added one-step deployment CLI script
Rewrote deployment instructions


[*.md]
trim_trailing_whitespace = false

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Useful addition, because YAML is valid with 4 spaced text, but GHA doesn't like it.

with:
files: ${{ needs.get_changed_files.outputs.python_changed_files }}

# TODO: See Issue IO-1666
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Deliberately left in place, because it's ticketed next

@@ -0,0 +1,32 @@
name: typecheck
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not used yet, as type checking is a pain in GHA

@@ -0,0 +1,77 @@
#!/usr/bin/env python3
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a WIP to be moved to a new ticket as it is unnecessary for success of the epic

@owencjones owencjones marked this pull request as ready for review October 1, 2023 15:56
@owencjones owencjones requested a review from Nathanjp91 October 2, 2023 16:18
Copy link
Contributor

@Nathanjp91 Nathanjp91 left a comment

Choose a reason for hiding this comment

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

Pair PR'ed with Owen over video call. Approved but lots of things to be tested in master unfortunately.

Nathanjp91 and others added 10 commits October 10, 2023 11:53
* client refactor

* item object rename

* delete/create classmethods

* core item rename

* meta object rename

* Client naming consistency

* remove useless asserts

* remove useless asserts

* collect refactor

* mypy cleanup

* streamlining

* expanding on exceptions

* __init__.py backend import changes

* team backend restructure for circular reference

* comment

* changes to collect operation, now invalidates cache if adding to query

* restructure exceptions module
* Fix for unrelated ticket

* Fix to tolerate issue in place

---------

Co-authored-by: Owen <owen@owencjones.co.uk>
* mypy cleanup

* drop mypy settings that don't work

* np typing change

* remove overrides

* Literal fix
* tests refactor and timing changes

* tests for tests
* Error messages improved.

* Update to error message

* Correct typo

---------

Co-authored-by: Owen <owen@owencjones.co.uk>
@owencjones owencjones merged commit 5021e18 into master Oct 10, 2023
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.

3 participants