Skip to content

Support prebuilt airplanes.live images in update and runtime scripts #19

Support prebuilt airplanes.live images in update and runtime scripts

Support prebuilt airplanes.live images in update and runtime scripts #19

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main, dev]
permissions:
contents: read
jobs:
lint:
name: shellcheck + bash -n
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install shellcheck
run: |
sudo apt-get update
sudo apt-get install -y shellcheck
- name: Run shellcheck (warning severity)
run: |
find . -name '*.sh' -not -path './.git/*' -print0 \
| xargs -0 shellcheck -S warning
- name: Run bash syntax check
run: |
find . -name '*.sh' -not -path './.git/*' -print0 \
| xargs -0 -n1 bash -n
test:
name: bats
runs-on: ubuntu-24.04
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Install bats, jq, curl, python3
run: |
sudo apt-get update
sudo apt-get install -y bats jq curl python3
- name: Run bats suite
run: bats test/
installer-smoke:
name: installer smoke (${{ matrix.image }}, ${{ matrix.path }})
runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
image:
- debian:13-slim
- ubuntu:24.04
path:
- bundled
- standalone
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- name: Pin local branch ref to HEAD
env:
BRANCH: ${{ github.event.pull_request.head.ref || github.ref_name }}
run: |
git -C "$PWD" branch -f "$BRANCH" HEAD
- name: Run installer smoke
env:
FEED_BRANCH: ${{ github.event.pull_request.head.ref || github.ref_name }}
IMAGE: ${{ matrix.image }}
TEST_PATH: ${{ matrix.path }}
run: |
docker run --rm \
-e AIRPLANES_FEED_REPO=file:///workspace \
-e AIRPLANES_FEED_BRANCH="$FEED_BRANCH" \
-e AIRPLANES_TEST_PATH="$TEST_PATH" \
-v "$PWD:/workspace:ro" \
"$IMAGE" \
bash /workspace/test/installer-smoke.sh
image-rootfs-smoke:
name: image rootfs smoke
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- name: Checkout feed
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
path: feed
- name: Checkout image updater
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
repository: airplanes-live/airplanes-update
path: airplanes-update
- name: Run image rootfs smoke
run: |
docker run --rm \
-e AIRPLANES_FEED_DIR=/feed \
-e AIRPLANES_UPDATE_DIR=/airplanes-update \
-v "$PWD/feed:/feed:ro" \
-v "$PWD/airplanes-update:/airplanes-update:ro" \
debian:13-slim \
bash /feed/test/image-rootfs-smoke.sh