From 55c51f2a7372e3ee0f5a0f6fe0e21bfdf6f95be1 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 12 May 2020 10:59:57 +0200
Subject: [PATCH] actions: script improvements

- Rely on shebang instead of setting shell in workflow
- Run whole install-dependencies.sh in sudo
- Use /bin/sh instead of bash
- set -e
---
 .github/workflows/build-gluon.yml       | 92 ++++++++++++-------------
 contrib/actions/generate-actions.py     |  4 +-
 contrib/actions/install-dependencies.sh | 17 +++--
 contrib/actions/run-build.sh            |  4 +-
 4 files changed, 61 insertions(+), 56 deletions(-)

diff --git a/.github/workflows/build-gluon.yml b/.github/workflows/build-gluon.yml
index 00747c3d2..dd2600456 100644
--- a/.github/workflows/build-gluon.yml
+++ b/.github/workflows/build-gluon.yml
@@ -19,9 +19,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ar71xx-generic
+        run: contrib/actions/run-build.sh ar71xx-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -40,9 +40,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ar71xx-tiny
+        run: contrib/actions/run-build.sh ar71xx-tiny
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -61,9 +61,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ar71xx-nand
+        run: contrib/actions/run-build.sh ar71xx-nand
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -82,9 +82,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ath79-generic
+        run: contrib/actions/run-build.sh ath79-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -103,9 +103,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh brcm2708-bcm2708
+        run: contrib/actions/run-build.sh brcm2708-bcm2708
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -124,9 +124,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh brcm2708-bcm2709
+        run: contrib/actions/run-build.sh brcm2708-bcm2709
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -145,9 +145,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ipq40xx-generic
+        run: contrib/actions/run-build.sh ipq40xx-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -166,9 +166,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ipq806x-generic
+        run: contrib/actions/run-build.sh ipq806x-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -187,9 +187,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh lantiq-xrx200
+        run: contrib/actions/run-build.sh lantiq-xrx200
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -208,9 +208,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh lantiq-xway
+        run: contrib/actions/run-build.sh lantiq-xway
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -229,9 +229,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh mpc85xx-generic
+        run: contrib/actions/run-build.sh mpc85xx-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -250,9 +250,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh mpc85xx-p1020
+        run: contrib/actions/run-build.sh mpc85xx-p1020
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -271,9 +271,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ramips-mt7620
+        run: contrib/actions/run-build.sh ramips-mt7620
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -292,9 +292,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ramips-mt7621
+        run: contrib/actions/run-build.sh ramips-mt7621
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -313,9 +313,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ramips-mt76x8
+        run: contrib/actions/run-build.sh ramips-mt76x8
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -334,9 +334,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ramips-rt305x
+        run: contrib/actions/run-build.sh ramips-rt305x
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -355,9 +355,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh sunxi-cortexa7
+        run: contrib/actions/run-build.sh sunxi-cortexa7
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -376,9 +376,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh x86-generic
+        run: contrib/actions/run-build.sh x86-generic
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -397,9 +397,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh x86-geode
+        run: contrib/actions/run-build.sh x86-geode
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -418,9 +418,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh x86-64
+        run: contrib/actions/run-build.sh x86-64
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -439,9 +439,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh ar71xx-mikrotik
+        run: contrib/actions/run-build.sh ar71xx-mikrotik
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -460,9 +460,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh brcm2708-bcm2710
+        run: contrib/actions/run-build.sh brcm2708-bcm2710
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
@@ -481,9 +481,9 @@ jobs:
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh mvebu-cortexa9
+        run: contrib/actions/run-build.sh mvebu-cortexa9
       - name: Archive build logs
         if: ${{ !cancelled() }}
         uses: actions/upload-artifact@v1
diff --git a/contrib/actions/generate-actions.py b/contrib/actions/generate-actions.py
index fa31134e8..d0a82dfdb 100755
--- a/contrib/actions/generate-actions.py
+++ b/contrib/actions/generate-actions.py
@@ -25,9 +25,9 @@ ACTIONS_TARGET="""
     steps:
       - uses: actions/checkout@v1
       - name: Install Dependencies
-        run: bash contrib/actions/install-dependencies.sh
+        run: sudo contrib/actions/install-dependencies.sh
       - name: Build
-        run: bash contrib/actions/run-build.sh {target_name}
+        run: contrib/actions/run-build.sh {target_name}
       - name: Archive build logs
         if: ${{{{ !cancelled() }}}}
         uses: actions/upload-artifact@v1
diff --git a/contrib/actions/install-dependencies.sh b/contrib/actions/install-dependencies.sh
index 3aebc8312..60e4a9ee9 100755
--- a/contrib/actions/install-dependencies.sh
+++ b/contrib/actions/install-dependencies.sh
@@ -1,7 +1,10 @@
-#!/bin/bash
-sudo cp contrib/actions/sources.list /etc/apt/sources.list
-sudo rm -rf /etc/apt/sources.list.d
-sudo apt update
-sudo apt install git subversion build-essential python gawk unzip libncurses5-dev zlib1g-dev libssl-dev wget time || exit 1
-sudo apt clean
-sudo rm -rf /var/lib/apt/lists/*
+#!/bin/sh
+
+set -e
+
+cp contrib/actions/sources.list /etc/apt/sources.list
+rm -rf /etc/apt/sources.list.d
+apt update
+apt install git subversion build-essential python gawk unzip libncurses5-dev zlib1g-dev libssl-dev wget time
+apt clean
+rm -rf /var/lib/apt/lists/*
diff --git a/contrib/actions/run-build.sh b/contrib/actions/run-build.sh
index 3898cf7b3..c3a279774 100755
--- a/contrib/actions/run-build.sh
+++ b/contrib/actions/run-build.sh
@@ -1,4 +1,6 @@
-#!/bin/bash
+#!/bin/sh
+
+set -e
 
 export BROKEN=1
 export GLUON_AUTOREMOVE=1
-- 
GitLab