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

Introduce Packaging and CI Tools #9

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

WinkelCode
Copy link

@WinkelCode WinkelCode commented May 7, 2023

Continuation of #4

I am basically done with the packaging side of things. I comprehensively tested commit 0334fd6ca4bac3933df7406d19734f1a0900dbc3 on Alpine, Ubuntu and Fedora Silverblue on my PC with IT8688E and IT8795E chips. I have made some minor changes since then but nothing that should change functionality in a major way.

New stuff:

packagetool.sh

Overview/quick start guide: https://github.com/WinkelCode/it87/blob/master/packagetool_quickstart.md

  • Tested to work with GNU (Ubuntu/Fedora) and Busybox (Alpine)

GitHub Actions Workflow

packagetool.sh wrapper

image

  • Use packagetool.sh from GitHub actions.

Auto package, test, and release

I introduced an automatic workflow that on push to the master branch:

  • Builds the packages and runs tests related to the dynamic module build process (AKMS/akmods/DKMS)
  • Creates a draft release with tarballs of the packages
  • Title and body are automatically filled from a template in the workflow
  • Automatically replaces the latest release if it is a draft for a snapshot- release (to avoid having multiple unpublished releases)

The developer workflow basically looks like this:

  • For minor changes that don't need a new package, put [skip ci] in the commit message
  • For other commits, the workflow will run when it's pushed to GitHub
  • Upon completion (about 3-6 minutes), a draft release will be available on the repo
  • Click on the button to edit the release and simply hit "Publish release" to make it publicly available

Example: https://github.com/WinkelCode/it87/releases/tag/snapshot-2023-05-08T11_21_23Z

Note: The release publishing part was done with jq and curl, since all premade Actions for GitHub Releases which I tried had some dealbreaking issue. Error handling isn't comprehensive, but has so far correctly failed the workflow if the API responds with an error code (curl -f option).

Updated documentation:

Reworked README

https://github.com/WinkelCode/it87/blob/master/README.md

  • Converted to markdown
  • Rewording of some parts
  • Removed ambiguity regarding boolean module options (incorrectly marked as "int" type)
  • Introduce table for chip compatibility list
  • General reordering and formatting improvements
  • New info regarding packages

Review/help requests

I would really appreciate it if other people could help review the following items:

Readme

  • General review and proofreading
  • The README is largely based on the old readme (I kept it as README_old.txt), some information is likely to be outdated.
  • The chip table might be wrong, there are chips I can't find in the code, and some that weren't in the old list but are in the code.
    Example: Can't find IT8528E; IT8795E is in code but not in Sep 2022 list.
  • "Past and present maintainers" is obviously incomplete. I know the out-of-tree side of the project has switched maintainers a couple times, what are their names?

Packagetool quickstart

  • Proofreading
  • Need for more documentation?

Packagetool

  • Testing on more host systems
  • Edge cases resulting in bogus ./packagetool.sh --print_repo_info values?

Edits by maintainers on my fork are allowed.

@WinkelCode WinkelCode marked this pull request as draft May 7, 2023 18:09
@WinkelCode WinkelCode force-pushed the master branch 2 times, most recently from add28e9 to 0c8ab11 Compare May 8, 2023 10:05
@WinkelCode
Copy link
Author

I’ll squash all the minor documentation edits together at some point

@frankcrawford
Copy link
Owner

@WinkelCode thanks for this. Obviously, I'm going to need to review it before we can finalise it, but since you are still working on it, that shouldn't be a problem.

@frankcrawford
Copy link
Owner

@WinkelCode how is this going? I haven't really had a chance to look at it so far.

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.

2 participants