Compare commits
4 Commits
feature/ad
...
f79da93460
| Author | SHA1 | Date | |
|---|---|---|---|
| f79da93460 | |||
| f5ae082dd4 | |||
| d8d5fd4495 | |||
| 7683a94b59 |
@@ -15,17 +15,17 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v5
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Restore git cache
|
- name: Restore git cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: .git
|
path: .git
|
||||||
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
|
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
|
||||||
|
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Detect Changes
|
- name: Detect Changes
|
||||||
uses: dorny/paths-filter@v3
|
uses: dorny/paths-filter@v3
|
||||||
id: image-changes
|
id: image-changes
|
||||||
@@ -91,20 +91,23 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Restore git cache
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: build
|
|
||||||
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
|
|
||||||
|
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: build and check
|
- name: Build Cache Setup
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
subprojects
|
||||||
|
build
|
||||||
|
key: build-${{ gitea.repository }}-${{ gitea.sha }}
|
||||||
|
|
||||||
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
||||||
meson compile -C 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
|
# 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
|
# when we have multiple build targets and configs. What we have currently is fine until we get lots of builds going
|
||||||
test:
|
test:
|
||||||
@@ -116,19 +119,25 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Restore git cache
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: build
|
|
||||||
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
|
|
||||||
- name: Checkout repo
|
- 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: build-${{ gitea.repository }}-${{ gitea.sha }}
|
||||||
|
|
||||||
- name: test
|
- name: test
|
||||||
run: |
|
run: |
|
||||||
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
set -x
|
||||||
|
ls build
|
||||||
|
[[ -d build ]] || meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized -Ddocs=enabled build
|
||||||
meson compile -C build
|
meson compile -C build
|
||||||
ninja test -C build
|
ninja test -C build
|
||||||
|
set +x
|
||||||
|
|
||||||
fuzz:
|
fuzz:
|
||||||
runs-on: gentoo
|
runs-on: gentoo
|
||||||
@@ -140,14 +149,16 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Restore git cache
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: build
|
|
||||||
key: gitea-repo-${{ gitea.repository }}-${{ gitea.ref }}
|
|
||||||
- name: Checkout repo
|
- 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: build-${{ gitea.repository }}-${{ gitea.sha }}
|
||||||
# FIXME: Get rid of this step when portage has fixes merged?
|
# FIXME: Get rid of this step when portage has fixes merged?
|
||||||
# needed because portage has fixes upstream we need that arent stable yet
|
# needed because portage has fixes upstream we need that arent stable yet
|
||||||
- name: Checkout tip of portage
|
- name: Checkout tip of portage
|
||||||
@@ -162,39 +173,55 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
source ./portage/.venv/bin/activate
|
source ./portage/.venv/bin/activate
|
||||||
which emerge
|
which emerge
|
||||||
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build
|
[[ -d build ]] || meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build
|
||||||
meson compile atom_parser_fuzzer:alias -C build
|
meson compile atom_parser_fuzzer:alias -C build
|
||||||
timeout 10m ./scripts/atom_parser_fuzz.sh
|
timeout 10m ./scripts/atom_parser_fuzz.sh
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
check-format:
|
check-format:
|
||||||
runs-on: gentoo
|
runs-on: gentoo
|
||||||
needs: [build-oci-image]
|
needs: [build-oci-image, build]
|
||||||
container:
|
container:
|
||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- 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: build-${{ gitea.repository }}-${{ gitea.sha }}
|
||||||
|
|
||||||
- name: Check Formatting
|
- name: Check Formatting
|
||||||
run: |
|
run: |
|
||||||
meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build
|
[[ -d build ]] || meson setup -Dfuzz=enabled -Dtests=enabled -Dbuildtype=debugoptimized build
|
||||||
meson format --check-only --recursive
|
meson format --check-only --recursive
|
||||||
ninja rustfmt -C build
|
ninja rustfmt -C build
|
||||||
|
|
||||||
docs:
|
docs:
|
||||||
runs-on: gentoo
|
runs-on: gentoo
|
||||||
needs: [build-oci-image]
|
needs: [build-oci-image, build]
|
||||||
container:
|
container:
|
||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- 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: build-${{ gitea.repository }}-${{ gitea.sha }}
|
||||||
|
|
||||||
- name: Build Documentation
|
- name: Build Documentation
|
||||||
run: |
|
run: |
|
||||||
meson setup -Ddocs=enabled docs
|
[[ -d build ]] || meson setup -Ddocs=enabled build
|
||||||
ninja rustdoc -C docs
|
ninja rustdoc -C build
|
||||||
|
|
||||||
grep:
|
grep:
|
||||||
runs-on: gentoo
|
runs-on: gentoo
|
||||||
@@ -203,7 +230,7 @@ jobs:
|
|||||||
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
image: ${{ vars.REGISTRY_URL }}/${{ gitea.repository }}:${{ needs.build-oci-image.outputs.image_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: grep for patterns
|
- name: grep for patterns
|
||||||
# negate git grep ret code because 1 means no findings
|
# negate git grep ret code because 1 means no findings
|
||||||
|
|||||||
50
README.org
50
README.org
@@ -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
|
|
||||||
Reference in New Issue
Block a user