V8.13.392.2025.11.07
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -10,6 +10,6 @@
|
|||||||
# SPDX-Security-Contact: security@coresecret.eu
|
# SPDX-Security-Contact: security@coresecret.eu
|
||||||
|
|
||||||
build:
|
build:
|
||||||
counter: 1023
|
counter: 1024
|
||||||
version: V8.13.392.2025.11.07
|
version: V8.13.392.2025.11.07
|
||||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
|
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=yaml
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ name: 🔐 Generating a Private Live ISO TRIXIE.
|
|||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -35,11 +36,6 @@ jobs:
|
|||||||
container:
|
container:
|
||||||
image: debian:trixie
|
image: debian:trixie
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
working-directory: ${{ github.workspace }}
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 🕑 Waiting random time to desynchronize parallel workflows.
|
- name: 🕑 Waiting random time to desynchronize parallel workflows.
|
||||||
run: |
|
run: |
|
||||||
@@ -138,6 +134,7 @@ jobs:
|
|||||||
echo "GNUPGHOME=${GNUPGHOME}" >> "${GITHUB_ENV}"
|
echo "GNUPGHOME=${GNUPGHOME}" >> "${GITHUB_ENV}"
|
||||||
echo 'allow-loopback-pinentry' >| "${GNUPGHOME}/gpg-agent.conf"
|
echo 'allow-loopback-pinentry' >| "${GNUPGHOME}/gpg-agent.conf"
|
||||||
echo 'pinentry-program /usr/bin/pinentry-tty' >> "${GNUPGHOME}/gpg-agent.conf"
|
echo 'pinentry-program /usr/bin/pinentry-tty' >> "${GNUPGHOME}/gpg-agent.conf"
|
||||||
|
echo "trust-model always" >> "${GNUPGHOME}/gpg.conf"
|
||||||
gpgconf --reload gpg-agent || true
|
gpgconf --reload gpg-agent || true
|
||||||
|
|
||||||
- name: ⚙️ Importing the 'CI PGP DEPLOY ONLY' key.
|
- name: ⚙️ Importing the 'CI PGP DEPLOY ONLY' key.
|
||||||
|
|||||||
@@ -23,6 +23,11 @@
|
|||||||
|
|
||||||
name: 🛡️ Shell Script Linting
|
name: 🛡️ Shell Script Linting
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
working-directory: ${{ github.workspace }}
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
@@ -37,14 +42,17 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
- name: 🕑 Waiting random time to desynchronize parallel workflows.
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
var_wait=$(( RANDOM % 33 ))
|
var_wait=$(( RANDOM % 33 ))
|
||||||
printf "⏳ Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
printf "🕑 Waiting %s seconds to desynchronize parallel workflows...\n" "${var_wait}"
|
||||||
sleep "${var_wait}"
|
sleep "${var_wait}"
|
||||||
|
|
||||||
|
- name: ⚙️ Preparing SSH Setup, SSH Deploy Key, Known Hosts, .config.
|
||||||
|
run: |
|
||||||
|
set +x
|
||||||
|
set -euo pipefail
|
||||||
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
rm -rf ~/.ssh && mkdir -m700 ~/.ssh
|
||||||
|
|
||||||
### Private Key
|
### Private Key
|
||||||
@@ -67,25 +75,15 @@ jobs:
|
|||||||
chmod 0600 ~/.ssh/config
|
chmod 0600 ~/.ssh/config
|
||||||
|
|
||||||
### https://github.com/actions/checkout/issues/1843
|
### https://github.com/actions/checkout/issues/1843
|
||||||
- name: 🛠️ Using manual clone via SSH to circumvent Gitea SHA-256 object issues.
|
- name: 🔧 Using manual clone via SSH to circumvent Gitea SHA-256 object issues.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
### GITHUB_REF_NAME contains the branch name from the push event.
|
### GITHUB_REF_NAME contains the branch name from the push event.
|
||||||
GITHUB_REF_NAME: ${{ github.ref_name }}
|
GITHUB_REF_NAME: ${{ github.ref_name }}
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
git clone --branch "${GITHUB_REF_NAME}" ssh://git@git.coresecret.dev:42842/msw/CISS.debian.live.builder.git .
|
git clone --branch "${GITHUB_REF_NAME}" ssh://git@git.coresecret.dev:42842/msw/CISS.debian.live.builder.git .
|
||||||
git fetch --unshallow || echo "Nothing to fetch - already full clone."
|
|
||||||
|
|
||||||
- name: 🛠️ Cleaning the workspace.
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
git reset --hard
|
|
||||||
git clean -fd
|
|
||||||
|
|
||||||
- name: ⚙️ Importing the 'CI PGP DEPLOY ONLY' key.
|
- name: ⚙️ Importing the 'CI PGP DEPLOY ONLY' key.
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
### GPG-Home relative to the Runner Workspace to avoid changing global files.
|
### GPG-Home relative to the Runner Workspace to avoid changing global files.
|
||||||
@@ -98,7 +96,6 @@ jobs:
|
|||||||
echo "trust-model always" >| "${GNUPGHOME}/gpg.conf"
|
echo "trust-model always" >| "${GNUPGHOME}/gpg.conf"
|
||||||
|
|
||||||
- name: ⚙️ Configuring Git for signed CI/DEPLOY commits.
|
- name: ⚙️ Configuring Git for signed CI/DEPLOY commits.
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
export GNUPGHOME="$(PWD)/.gnupg"
|
export GNUPGHOME="$(PWD)/.gnupg"
|
||||||
@@ -109,22 +106,19 @@ jobs:
|
|||||||
git config gpg.format openpgp
|
git config gpg.format openpgp
|
||||||
|
|
||||||
- name: ⚙️ Convert APT sources to HTTPS.
|
- name: ⚙️ Convert APT sources to HTTPS.
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
sed -i 's|http://\(archive\.ubuntu\.com\|security\.ubuntu\.com\)|https://\1|g' /etc/apt/sources.list
|
sed -i 's|http://\(archive\.ubuntu\.com\|security\.ubuntu\.com\)|https://\1|g' /etc/apt/sources.list
|
||||||
sed -i 's|http://\(archive\.ubuntu\.com\|security\.ubuntu\.com\)|https://\1|g' /etc/apt/sources.list.d/*.list || true
|
sed -i 's|http://\(archive\.ubuntu\.com\|security\.ubuntu\.com\)|https://\1|g' /etc/apt/sources.list.d/*.list || true
|
||||||
|
|
||||||
- name: 🛠️ Install dependencies.
|
- name: 🔧 Install dependencies.
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
### Install grep with Perl-regex support, falls noch nicht vorhanden
|
### Install grep with Perl-regex support, falls noch nicht vorhanden
|
||||||
apt-get update
|
apt-get update -qq
|
||||||
apt-get upgrade -y
|
apt-get upgrade -y
|
||||||
apt-get install -y grep
|
apt-get install -y grep
|
||||||
|
|
||||||
- name: 🔍 Lint shell scripts
|
- name: 🔍 Lint shell scripts
|
||||||
shell: bash
|
|
||||||
run: |
|
run: |
|
||||||
# -------------------------------
|
# -------------------------------
|
||||||
# STEP 1: Find target files.
|
# STEP 1: Find target files.
|
||||||
@@ -254,7 +248,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: 🚧 Stash local changes (including untracked).
|
- name: 🚧 Stash local changes (including untracked).
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
@@ -263,7 +256,6 @@ jobs:
|
|||||||
git stash push --include-untracked -m "ci-temp" || echo "✔️ Nothing to stash."
|
git stash push --include-untracked -m "ci-temp" || echo "✔️ Nothing to stash."
|
||||||
|
|
||||||
- name: 🔄 Sync with remote before commit using merge strategy.
|
- name: 🔄 Sync with remote before commit using merge strategy.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
@@ -280,8 +272,7 @@ jobs:
|
|||||||
git status
|
git status
|
||||||
git log --oneline -n 5
|
git log --oneline -n 5
|
||||||
|
|
||||||
- name: 🛠️ Restore stashed changes.
|
- name: 🔧 Restore stashed changes.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
@@ -290,7 +281,6 @@ jobs:
|
|||||||
git stash pop || echo "✔️ Nothing to pop."
|
git stash pop || echo "✔️ Nothing to pop."
|
||||||
|
|
||||||
- name: 📦 Stage generated files.
|
- name: 📦 Stage generated files.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
@@ -299,7 +289,6 @@ jobs:
|
|||||||
git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add."
|
git add "${PRIVATE_FILE}" || echo "✔️ Nothing to add."
|
||||||
|
|
||||||
- name: 🔑 Commit and sign changes with CI metadata.
|
- name: 🔑 Commit and sign changes with CI metadata.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
@@ -335,7 +324,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: 🔁 Push back to repository.
|
- name: 🔁 Push back to repository.
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GIT_SSH_COMMAND: "ssh -p 42842"
|
GIT_SSH_COMMAND: "ssh -p 42842"
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ init_gnupg() {
|
|||||||
cat << EOF >| "${GNUPGHOME}/gpg-agent.conf"
|
cat << EOF >| "${GNUPGHOME}/gpg-agent.conf"
|
||||||
allow-loopback-pinentry
|
allow-loopback-pinentry
|
||||||
pinentry-program /usr/bin/pinentry-tty
|
pinentry-program /usr/bin/pinentry-tty
|
||||||
|
trust-model always
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if ! gpgconf --launch gpg-agent 2>&1; then
|
if ! gpgconf --launch gpg-agent 2>&1; then
|
||||||
|
|||||||
Reference in New Issue
Block a user