aboutsummaryrefslogtreecommitdiffstats
path: root/.gitea/workflows/ci.yaml
blob: 4c181caad5e48f90122ca387f1cef8a895e722e0 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
name: CI Pipeline

on: [push, pull_request]

jobs:
  shasums:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run shasums script
        run: |
          cp -rv ./hyperterm/ "$HOME/.hyperterm/"
          cp -v .bash* "$HOME"
          cp -v ./hyperterm/_custom.sh "$HOME"
          rm -rfv hyperterm/
          (cd "$HOME/.hyperterm/" && sha512sum -c hyperterm.sha512)
          (cd "$HOME" && bash -x .bashrc)

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

      - name: Set up locales
        run: |
          sudo apt-get update -y
          sudo apt-get install -y locales less
          sudo sed -i 's/# \(es_ES.UTF-8 UTF-8\)/\1/' /etc/locale.gen
          sudo sed -i 's/# \(en_US.UTF-8 UTF-8\)/\1/' /etc/locale.gen
          sudo locale-gen es_ES.UTF-8
          export LANG=es_ES.UTF-8 LANGUAGE=es_ES

      - name: Install dependencies for shellcheck
        run: sudo apt-get install -y xz-utils shellcheck

      - name: Run shellcheck on bash profile
        run: |
          shellcheck .bash_profile
          shellcheck ./hyperterm/hyperterm.sh
          shellcheck ./hyperterm/_custom.sh

      - name: Run shellcheck on build script
        run: shellcheck build.sh

      - name: Run build script
        run: bash -x build.sh

      - name: Run shellcheck on core scripts
        run: |
          shellcheck hyperterm/core/autocomplete.sh
          shellcheck hyperterm/core/colors.sh
          shellcheck hyperterm/core/git.sh
          shellcheck hyperterm/core/languages.sh
          shellcheck hyperterm/core/status.sh
          shellcheck hyperterm/core/update.sh

      - name: Run shellcheck on theme scripts
        run: |
          shellcheck hyperterm/themes/default.sh
          shellcheck hyperterm/themes/joy.sh
          shellcheck hyperterm/themes/light_theme.sh
          shellcheck hyperterm/themes/minterm.sh
          shellcheck hyperterm/themes/pure.sh
          shellcheck hyperterm/themes/simple.sh
          shellcheck hyperterm/themes/special.sh

      - name: Run shellcheck on tools scripts
        run: |
          shellcheck hyperterm/tools/aliases.sh
          shellcheck hyperterm/tools/compress.sh
          shellcheck hyperterm/tools/export.sh
          shellcheck hyperterm/tools/listuser.sh
          shellcheck hyperterm/tools/network.sh
          shellcheck hyperterm/tools/proxy.sh
          shellcheck hyperterm/tools/rar2zip.sh
          shellcheck hyperterm/tools/ruby.sh
          shellcheck hyperterm/tools/ssh-agent.sh
          shellcheck hyperterm/tools/sysinfo.sh
          shellcheck hyperterm/tools/virtualenv.sh

      - name: Run shellcheck on install script
        run: shellcheck install.sh

      - name: Run install script
        run: bash -x install.sh -s

      - name: Run shellcheck on uninstall script
        run: shellcheck uninstall.sh

      - name: Run uninstall script
        run: bash -x uninstall.sh -s