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

Some GitHub Workflow setup #10

Open
wants to merge 185 commits into
base: main
Choose a base branch
from

Conversation

reinvantveer
Copy link
Contributor

Setting up some toolchaing stuff mainly. Already built/hosted this on quay.io for myself, but the workflow just assumes the GitHub username to be identical to the quay.io one.

@reinvantveer reinvantveer changed the title Some GitHub Some GitHub Workflow setup Oct 13, 2021
@reinvantveer
Copy link
Contributor Author

Ah apparently I did not sign off the commits

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…build parameter for cmake

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…machine

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…ff (fails for now)

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…uff to main Dockerfile

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…t is added to PATH

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
reinvantveer and others added 26 commits October 14, 2021 19:52
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Co-authored-by: Ricky Taylor <rickytaylor26@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
…lose` call

Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <reinvantveer@gmail.com>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
Signed-off-by: reinvantveer <rein@vantveer.me>
# Conflicts:
#	.dockerignore
#	Dockerfile
#	Dockerfile.megadrive
#	build.sh
#	docker-compose.yml
@reinvantveer
Copy link
Contributor Author

reinvantveer commented Oct 14, 2021

With all the sign-off stuff going the commit history is a bit of a mess, but that doesn't bother me much if you don't mind. Apologies for any duplicated commits

Copy link
Owner

@ricky26 ricky26 left a comment

Choose a reason for hiding this comment

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

Leaving this review as a comment rather than approval because I need to look at registry credentials. There are a couple of nits but there's no particular pressure to address them ahead of this getting merged.

@@ -0,0 +1,8 @@
version: 2
Copy link
Owner

Choose a reason for hiding this comment

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

Interesting, didn't know there was a magic file for dependabot, I've only used it through the UI.

Comment on lines +8 to +12
# This Docker image only rarely, if ever, needs updating, so it should
# only be executed manually
on:
# - push
- workflow_dispatch
Copy link
Owner

Choose a reason for hiding this comment

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

It feels like getting this to run on PR change & on merge would be nice, but that's not a problem for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed. A bit of a thing at the moment is that I believe the megadrive cargo extension command won't compile at the moment, something to do with clap_derive at a newer beta 3 version.

with:
file: Dockerfile.megadrive
# Nightly version of Rust 1.53.0 with m68k support
tags: ${{ secrets.DOCKER_REGISTRY_PROVIDER }}/${{ github.repository_owner }}/rust-m68k-megadrive:1.53.0-dev
Copy link
Owner

Choose a reason for hiding this comment

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

nit: This tag is fixed and in more than one place. Ideally this should at least contain something unique from the repo / commit sha / git tag. Only a nit because this is a manual step.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good suggestion, I'll have to think of something on how to include the nightly version into this, I think this is a very helpful feature of the tag.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Something resembling 1.53.0-dev-${{ commit }} or thereabouts

@@ -1,13 +1,18 @@
FROM rust-mega-drive:latest
# Use custom built Rust Motorola 68000 targeted base image
FROM quay.io/reinvantveer/rust-m68k-megadrive:1.53.0-dev
Copy link
Owner

Choose a reason for hiding this comment

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

Presumably this should match the tags path from earlier? IIRC Github Packages supports docker & is free for public repos, I can probably setup the relevant secrets for that.

Copy link
Contributor Author

@reinvantveer reinvantveer Oct 18, 2021

Choose a reason for hiding this comment

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

That would be nice, but I suspect this requires a paid account, given the current huge size of the docker image: see https://docs.github.com/en/billing/managing-billing-for-github-packages/about-billing-for-github-packages#about-billing-for-github-packages. The free tier extends up to 500 Mb but the image is way larger than that unfortunately. I'd have to do a deep dive (using Alex Goodman's excellent dive to skinny things down.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But I'll put something in place to ensure that the provider/path/image:tag stuff gets parameterized

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