3 Commits

Author SHA1 Message Date
6e385ba796 test cache
All checks were successful
Gentoo Utils / grep (push) Successful in 6s
Gentoo Utils / build (push) Successful in 29s
Gentoo Utils / check-format (push) Successful in 13s
Gentoo Utils / docs (push) Successful in 20s
Gentoo Utils / test (push) Successful in 35s
Gentoo Utils / fuzz (push) Successful in 1m19s
Gentoo Utils / build-oci-image (push) Successful in 20s
2025-12-27 13:23:32 -06:00
aa1d57cf94 ci: fix build cache path
All checks were successful
Gentoo Utils / check-format (push) Successful in 10s
Gentoo Utils / test (push) Successful in 34s
Gentoo Utils / build-oci-image (push) Successful in 20s
Gentoo Utils / grep (push) Successful in 4s
Gentoo Utils / docs (push) Successful in 17s
Gentoo Utils / build (push) Successful in 28s
Gentoo Utils / fuzz (push) Successful in 1m17s
2025-12-27 12:42:42 -06:00
7683a94b59 ci: redo docker build logic 2025-12-27 12:42:40 -06:00
2 changed files with 84 additions and 74 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
uses: actions/cache@v5
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,28 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
- name: Restore Git Cache
uses: actions/cache/restore@v5
with:
path: build
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: build and check
- name: Build
run: |
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
meson compile -C build
- name: Cache Build + Subprojects
uses: actions/cache@v5
with:
path: |
subprojects
build
key: build-${{ gitea.repository }}-${{ gitea.sha }}
# 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 +124,23 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
uses: actions/cache/restore@v5
with:
path: build
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Restore build cache
uses: actions/cache/restore@v5
with:
path: |
subprojects
build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.sha }}
- name: test
run: |
@@ -140,14 +158,22 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore git cache
uses: actions/cache@v4
- name: Restore Git Cache
uses: actions/cache/restore@v5
with:
path: build
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
- name: Checkout repo
uses: actions/checkout@v6
- name: Restore Build Cache
uses: actions/cache/restore@v5
with:
path: |
subprojects
build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.sha }}
# FIXME: Get rid of this step when portage has fixes merged?
# needed because portage has fixes upstream we need that arent stable yet
- name: Checkout tip of portage
@@ -169,12 +195,26 @@ 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: Restore Git Cache
uses: actions/cache/restore@v5
with:
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Restore Build Cache
uses: actions/cache/restore@v5
with:
path: |
subprojects
build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.sha }}
- name: Check Formatting
run: |
@@ -184,12 +224,26 @@ 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: Restore Git Cache
uses: actions/cache/restore@v5
with:
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- name: Checkout repo
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Restore Build Cache
uses: actions/cache/restore@v5
with:
path: |
subprojects
build
key: gitea-repo-${{ gitea.repository }}-${{ gitea.sha }}
- name: Build Documentation
run: |
@@ -202,8 +256,14 @@ jobs:
container:
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
steps:
- name: Restore Git Cache
uses: actions/cache/restore@v5
with:
path: .git
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
- 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