Skip to content

Commit

Permalink
Merge branch 'master' of github.com:crpb/grml-live
Browse files Browse the repository at this point in the history
  • Loading branch information
crpb committed Jan 7, 2025
2 parents 134fea6 + 7668f12 commit 6883fa8
Show file tree
Hide file tree
Showing 229 changed files with 3,672 additions and 2,925 deletions.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: grml
41 changes: 41 additions & 0 deletions .github/workflows/pr-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# PR Review workflows.

name: pr-review
on:
workflow_dispatch:
pull_request:
push:
jobs:
shellcheck-code:
name: shellcheck main code
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: "."
pattern: |
grml-live
scripts/*.sh
remaster/grml-live-remaster
config/hooks/*
config/scripts/*
check_all_files_with_shebangs: "false"

shellcheck-tests:
name: shellcheck test scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: shellcheck
uses: reviewdog/action-shellcheck@v1
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review
path: tests
pattern: |
*.sh
check_all_files_with_shebangs: "false"
79 changes: 79 additions & 0 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: test-build
on:
workflow_dispatch:
pull_request:
push:
schedule:
- cron: "30 3 * * 2"

concurrency:
group: "${{ github.ref }}"
cancel-in-progress: true
jobs:
build-debian:
strategy:
# Keep other matrix jobs running, even if one fails.
fail-fast: false
matrix:
host_release:
- unstable
- trixie
- bookworm

# We want a working shell, qemu, python and docker. Specific version should not matter (much).
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- run: ./test/gha-build-deb.sh
name: "Build .deb for ${{matrix.host_release}}"
env:
HOST_RELEASE: ${{matrix.host_release}}

- name: Archive built .deb
uses: actions/upload-artifact@v4
with:
name: deb-${{matrix.host_release}}
if-no-files-found: error
path: |
*.deb
build-iso:
strategy:
fail-fast: false
matrix:
host_release:
- bookworm

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- run: ./test/gha-build-iso.sh initial
name: "Build ISO on ${{matrix.host_release}}"
env:
HOST_RELEASE: ${{matrix.host_release}}

- name: Archive built ISO
if: always()
uses: actions/upload-artifact@v4
with:
name: grml-live-build-result-initial-${{matrix.host_release}}
if-no-files-found: error
path: |
results-initial/*
- run: ./test/gha-build-iso.sh build-only-twice
name: "Repack ISO twice on ${{matrix.host_release}}"
env:
HOST_RELEASE: ${{matrix.host_release}}

- name: Archive repacked ISO
if: always()
uses: actions/upload-artifact@v4
with:
name: grml-live-build-result-repack-${{matrix.host_release}}
if-no-files-found: error
path: |
results-build-only-second/*
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1 @@
etc/grml/fai/config/basefiles
etc/grml/fai/make-fai-nfsroot.conf
etc/grml/fai/nfsroot.conf
config/basefiles
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ set `GRML_FAI_CONFIG`, the `SCRIPTS_DIRECTORY`, the `LIVE_CONF`
and the templates option so that it does not use the config files
of an installed `grml-live` package:

# export GRML_FAI_CONFIG=$(pwd)/etc/grml/fai
# export GRML_FAI_CONFIG=$(pwd)/config
# export SCRIPTS_DIRECTORY=$(pwd)/scripts
# export LIVE_CONF=$(pwd)/etc/grml/grml-live.conf
# export TEMPLATE_DIRECTORY=$(pwd)/templates
Expand Down
2 changes: 1 addition & 1 deletion TODO
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Patches, ideas and feedback welcome.
* if a stage fails inside grml-live the stage is skipped on next execution → try
to find a better way how to clean up the stage and re-execute it again

* support something like a directory /etc/grml/fai/chroot_packages to install
* support something like a directory $GRML_FAI_CONFIG/chroot_packages to install
additional Debian packages without the need for a Debian repository

* support multiple kernel versions installed in one single live-system
Expand Down
14 changes: 14 additions & 0 deletions build-driver/build
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
#
# Entrypoint from CI jobs
# Only valid assumptions:
# - apt sources.list are valid
# - first param is path to grml-live checkout
# - remaining params are job config, so to say
set -x
GRML_LIVE_PATH=$1
PYTHONPATH="$GRML_LIVE_PATH"/build-driver
echo -e "\e[0Ksection_start:$(date +%s):startupdeps[collapsed=true]\r\e[0KInstall dependencies for build.py"
apt satisfy -q -y --no-install-recommends 'python3-minimal, python3-yaml'
echo -e "\e[0Ksection_end:$(date +%s):startupdeps\r\e[0K"
exec "$PYTHONPATH"/build.py "$@"
Loading

0 comments on commit 6883fa8

Please sign in to comment.