Support prebuilt airplanes.live images in update and runtime scripts #19
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |