2 Commits

Author SHA1 Message Date
7159b3fd0f ci: fix build cache path
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 20s
Gentoo Utils / grep (push) Successful in 4s
Gentoo Utils / test (push) Successful in 32s
Gentoo Utils / build (push) Successful in 28s
Gentoo Utils / check-format (push) Successful in 10s
Gentoo Utils / docs (push) Successful in 17s
Gentoo Utils / fuzz (push) Successful in 1m15s
2025-12-27 17:06:43 -06:00
7683a94b59 ci: redo docker build logic 2025-12-27 12:42:40 -06:00
2 changed files with 25 additions and 80 deletions

View File

@@ -15,17 +15,17 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout repo
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Restore git cache
uses: actions/cache@v4
with:
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Detect Changes
uses: dorny/paths-filter@v3
id: image-changes
@@ -91,20 +91,25 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
with:
path: build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: build and check
# TODO: This is currently unused by other projects. I couldn't make meson not regenerate things regardless of
# the build dir already existing.
- name: Build Cache Setup
uses: actions/cache@v5
with:
path: |
subprojects
build
key: build-${{ gitea.repository }}-${{ gitea.sha }}
- name: Build
run: |
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
meson compile -C build
# FIXME: Currently this rebuilds everything. Instead we should bring over the build dir from the build job. This will come in handy
# when we have multiple build targets and configs. What we have currently is fine until we get lots of builds going
test:
@@ -116,13 +121,8 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
with:
path: build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: test
run: |
@@ -140,13 +140,8 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
with:
path: build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
# FIXME: Get rid of this step when portage has fixes merged?
# needed because portage has fixes upstream we need that arent stable yet
@@ -169,12 +164,12 @@ jobs:
check-format:
runs-on: gentoo
needs: [build-oci-image]
needs: [build-oci-image, build]
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Check Formatting
run: |
@@ -184,12 +179,12 @@ jobs:
docs:
runs-on: gentoo
needs: [build-oci-image]
needs: [build-oci-image, build]
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Build Documentation
run: |
@@ -203,7 +198,7 @@ jobs:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: grep for patterns
# negate git grep ret code because 1 means no findings

View File

@@ -1,50 +0,0 @@
#+title: Gentoo Utils
* Getting Started
Gentoo Utils must be compiled from source currently. See the compiling from source section for more information.
* Development :development:contributing:
There are two main avenues for development:
- compiling normally using packages via portage
- using the podman container
** Development without using a podman container
*** Install Build Prerequisites
- dev-lang/rust-bin-9999
- llvm-core/clang
- llvm-core/lld
- sys-process/parallel (Needed for =check.sh=)
- dev-build/meson
Install build deps:
#+begin_src bash :noeval
emerge -a dev-lang/rust-bin-9999 \
llvm-core/clang \
llvm-core/lld \
sys-process/parallel
#+end_src
Compiling this project currently requires using a patched meson. Install patched meson:
#+begin_src bash :noeval
EGIT_OVERRIDE_REPO_MESONBUILD_MESON=https://jturnerusa.dev/cgit/meson emerge -a =dev-build/meson-9999::gentoo
#+end_src
** Development using a podman container
The podman image comes with all the tools required to compile gentoo-utils.
Clone the repo
#+begin_src bash :noeval
git clone https://git.epenguin.net/gentoo-utils/gentoo-utils.git
cd gentoo-utils
#+end_src
Run the check script:
#+begin_src bash :noeval
podman run --rm --userns=keep-id -v $PWD:/workspace git.epenguin.net/gentoo-utils/gentoo-utils:latest ./check.sh
#+end_src
* Resources
pms-utils spec link