-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add support for building Linux AppImage binary. #133
Closed
antoinevg
wants to merge
12
commits into
greatscottgadgets:main
from
antoinevg:antoinevg/linux-appimage
Closed
Add support for building Linux AppImage binary. #133
antoinevg
wants to merge
12
commits into
greatscottgadgets:main
from
antoinevg:antoinevg/linux-appimage
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68eb195
to
8abe941
Compare
8abe941
to
2e5a432
Compare
2e5a432
to
c0dab44
Compare
a6fd72b
to
58e33e2
Compare
9475402
to
1c1c236
Compare
Closed in favour of #140 so it can actually be tested. |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for building the Linux AppImage binary during CI workflow.
Overview
The workflow file is .github/workflows/appimage.yml and is structured as follows:
Step 1: Checks if the docker container exists or needs to be updated, if not, go to Step 3.
Step 2: Builds the appimage/docker/Dockerfile for compiling packetry and creating an appimage.
Step 3: Runs pretty much the same workflow as the
rust.yml
workflow to compile & test packetry inside the docker container.Step 4: Invokes a custom action appimage/action.yml to build the Linux AppImage binary.
Step 5: Uploads the Linux AppImage binary artifact.
Docker Image Notes
GTK_VERSION
sets the version of GTK sources to be downloaded and built.NODE_VERSION
sets the version of node to install for the use ofSwatinem/rust-cache@v2
USER root
but it turns out that was wasted becauseGitHub Actions does not support containers running as anything but root:
$HOME
for the root user with/github/home
which of course causes all thethings to fail.
/github/home
in your container, GitHub actions will happily delete the contents./etc/passwd
to changeroot
home dir to/github/home
during the container build and then copying everything you need into$HOME
before running the workflow.<repo>-gtk-<gtk-version>:<branch>
so we don't run into issues when working on branches or PR's.Outstanding issues
DOCKER_REGISTRY_TOKEN
for the packetry repo.