summaryrefslogtreecommitdiff
path: root/.github/workflows/validate-installer-iso.yml
blob: 2151a23bd13ca1acd79fa8ab14e9f1f574fc2fb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
name: Validate pull request

on:
  pull_request:
    branches:
      - main
      - testing

permissions:
  contents: read

jobs:
  validate:
    name: Run lightweight checks
    runs-on: ubuntu-24.04

    steps:
      - name: Checkout
        uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

      - name: Install just
        uses: extractions/setup-just@53165ef7e734c5c07cb06b3c8e7b647c5aa16db3 # v4

      - name: Validate workflow YAML
        run: |
          ruby -e 'require "yaml"; Dir[".github/workflows/*.yml"].each { |file| YAML.load_file(file) }'

      - name: Validate Just syntax
        run: just check

      - name: Validate Justfile formatting
        run: |
          just --unstable --fmt --check -f Justfile

      - name: Validate build scripts
        run: |
          for script in build_files/*.sh installer/*.sh just_scripts/*.sh tests/*.sh; do
            bash -n "$script"
          done
          bash -n system_files/usr/libexec/aerocore-instruments-setup

      - name: Test Bazzite Deck identity patch
        run: tests/test-patch-bazzite-deck-identity.sh

      - name: Test GPT root configuration
        run: tests/test-configure-target-gpt-root.sh

      - name: Validate Anaconda WebUI patch
        run: |
          fixture="$(mktemp)"
          trap 'rm -f "${fixture}"' EXIT
          printf '%s' 'n===0?r(new Error(X2("Password is too weak"))):o(' |
            gzip -n > "${fixture}"
          installer/patch-anaconda-webui.sh "${fixture}"
          gzip -dc "${fixture}" |
            grep -Fq 'n===0&&!e?r(new Error(X2("Password is too weak"))):o('
          installer/patch-anaconda-webui.sh "${fixture}"

      - name: Validate installer polkit rules
        run: |
          for rule in installer/system_files/overrides/etc/polkit-1/rules.d/*.rules; do
            node --check < "$rule"
          done