From d36e719b64af8dfe79df1b644046783455f87044 Mon Sep 17 00:00:00 2001 From: Nathan Schulte <8540239+nmschulte@users.noreply.github.com> Date: Tue, 7 Feb 2023 07:01:27 -0600 Subject: [PATCH] GitHub workflows: factor more ubuntu-latest mirrors to script (#5044) --- .github/workflows/add-ubuntu-latest-apt-mirrors.sh | 14 ++++++++++++++ .github/workflows/build-android.yaml | 7 ++----- .github/workflows/build-firmware.yaml | 7 ++----- .github/workflows/build-rusEFI-console.yaml | 7 ++----- .github/workflows/build-simulator.yaml | 7 ++----- .github/workflows/build-tsplugin-body.yaml | 7 ++----- .github/workflows/build-unit-tests.yaml | 7 ++----- .github/workflows/gen-configs.yaml | 7 ++----- .github/workflows/gen-diffs.yaml | 7 ++----- .github/workflows/gen-docs.yaml | 7 ++----- .github/workflows/gen-ibom.yaml | 8 ++------ .github/workflows/set-date.yaml | 7 ++----- 12 files changed, 36 insertions(+), 56 deletions(-) create mode 100755 .github/workflows/add-ubuntu-latest-apt-mirrors.sh diff --git a/.github/workflows/add-ubuntu-latest-apt-mirrors.sh b/.github/workflows/add-ubuntu-latest-apt-mirrors.sh new file mode 100755 index 0000000000..07ae145233 --- /dev/null +++ b/.github/workflows/add-ubuntu-latest-apt-mirrors.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +# run as root + +touch /etc/apt/sources.list.d/ubuntu-latest-mirrors.list +for mirror in \ + 'http://ubuntu.osuosl.org/ubuntu/' \ + 'http://mirrors.ocf.berkeley.edu/ubuntu/' \ + ; do + cat /etc/apt/sources.list >> /etc/apt/sources.list.d/ubuntu-latest-mirrors.list + sed "s#http://azure.archive.ubuntu.com/ubuntu/#$mirror#" -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list +done + +apt-get -o Acquire::Retries=3 update diff --git a/.github/workflows/build-android.yaml b/.github/workflows/build-android.yaml index 58d8e76da7..b3fc330e51 100644 --- a/.github/workflows/build-android.yaml +++ b/.github/workflows/build-android.yaml @@ -23,12 +23,9 @@ jobs: java-version: '8' - name: Install Tools + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install mtools - name: Generate Configs, Enums & Live Documentation diff --git a/.github/workflows/build-firmware.yaml b/.github/workflows/build-firmware.yaml index f150fabe31..a096d36f51 100644 --- a/.github/workflows/build-firmware.yaml +++ b/.github/workflows/build-firmware.yaml @@ -317,12 +317,9 @@ jobs: - name: Install multilib, mingw, sshpass and mtools if: ${{ env.skip != 'true' }} + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install gcc-multilib g++-multilib g++-mingw-w64 gcc-mingw-w64 sshpass mtools sudo apt-get install zip sudo apt-get install dosfstools diff --git a/.github/workflows/build-rusEFI-console.yaml b/.github/workflows/build-rusEFI-console.yaml index 084a199fc7..6e160ee529 100644 --- a/.github/workflows/build-rusEFI-console.yaml +++ b/.github/workflows/build-rusEFI-console.yaml @@ -27,12 +27,9 @@ jobs: run: javac -version - name: Install Tools + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install sshpass mtools - name: Generate Configs, Enums & Live Documentation diff --git a/.github/workflows/build-simulator.yaml b/.github/workflows/build-simulator.yaml index f4a719fd97..5b32d0706e 100644 --- a/.github/workflows/build-simulator.yaml +++ b/.github/workflows/build-simulator.yaml @@ -29,12 +29,9 @@ jobs: run: gcc -v - name: Install multilib + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install gcc-multilib g++-multilib mtools dosfstools zip - name: Generate Configs, Enums & Live Documentation diff --git a/.github/workflows/build-tsplugin-body.yaml b/.github/workflows/build-tsplugin-body.yaml index ae6d8474a2..0315dd53f9 100644 --- a/.github/workflows/build-tsplugin-body.yaml +++ b/.github/workflows/build-tsplugin-body.yaml @@ -18,12 +18,9 @@ jobs: run: javac -version - name: Install Tools + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install sshpass - name: Build TS plugin body diff --git a/.github/workflows/build-unit-tests.yaml b/.github/workflows/build-unit-tests.yaml index ae9082751b..c0fa89e183 100644 --- a/.github/workflows/build-unit-tests.yaml +++ b/.github/workflows/build-unit-tests.yaml @@ -27,12 +27,9 @@ jobs: - name: Install required software (ubuntu) if: ${{ matrix.os != 'macos-latest' }} + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install mtools zip dosfstools sshpass lcov valgrind - name: Install required software (macos) diff --git a/.github/workflows/gen-configs.yaml b/.github/workflows/gen-configs.yaml index 3e9086d826..9f381a2773 100644 --- a/.github/workflows/gen-configs.yaml +++ b/.github/workflows/gen-configs.yaml @@ -21,12 +21,9 @@ jobs: git submodule update --init --depth=1 firmware/controllers/can/wideband_firmware - name: Install Tools + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install sshpass sshpass mtools - name: Generate Enum Strings diff --git a/.github/workflows/gen-diffs.yaml b/.github/workflows/gen-diffs.yaml index c978ca9b4e..1e8acbc9e0 100644 --- a/.github/workflows/gen-diffs.yaml +++ b/.github/workflows/gen-diffs.yaml @@ -19,13 +19,10 @@ jobs: git submodule update --init --depth=1 hardware/rusefi_lib - name: Install sshpass, kicad, and tk bindings + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo add-apt-repository --yes ppa:kicad/kicad-6.0-releases - sudo apt-get -o Acquire::Retries=3 update sudo apt-get install sshpass kicad python3-pip python3-tk scour librsvg2-bin pip install python-dateutil pygubu diff --git a/.github/workflows/gen-docs.yaml b/.github/workflows/gen-docs.yaml index 25d963b6af..afd0f3c234 100644 --- a/.github/workflows/gen-docs.yaml +++ b/.github/workflows/gen-docs.yaml @@ -12,12 +12,9 @@ jobs: - uses: actions/checkout@v3 - name: Install prerequisite software + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install doxygen graphviz sshpass - name: Set FTP variables diff --git a/.github/workflows/gen-ibom.yaml b/.github/workflows/gen-ibom.yaml index f370d3a4c6..2dd49a684c 100644 --- a/.github/workflows/gen-ibom.yaml +++ b/.github/workflows/gen-ibom.yaml @@ -16,13 +16,9 @@ jobs: git submodule update --init --depth=1 hardware/InteractiveHtmlBom - name: Install prerequisite software + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo add-apt-repository ppa:kicad/kicad-5.1-releases - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install kicad sshpass - name: Set SSH variables diff --git a/.github/workflows/set-date.yaml b/.github/workflows/set-date.yaml index 36badd0614..93e52d2d42 100644 --- a/.github/workflows/set-date.yaml +++ b/.github/workflows/set-date.yaml @@ -20,12 +20,9 @@ jobs: - uses: actions/checkout@v3 - name: Install Tools + working-directory: ./.github/workflows/ run: | - sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://ubuntu.osuosl.org/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - cat /etc/apt/sources.list | sudo tee -a /etc/apt/sources.list.d/ubuntu-latest-mirrors.list > /dev/null - sudo sed 's#http://azure.archive.ubuntu.com/ubuntu/#http://mirrors.ocf.berkeley.edu/ubuntu/#' -i /etc/apt/sources.list.d/ubuntu-latest-mirrors.list - sudo apt-get -o Acquire::Retries=3 update + sudo ./add-ubuntu-latest-apt-mirrors.sh sudo apt-get install subversion - name: Update version header in git