From 4cbe7015a0b3e359ad531a7eac3e343f8e42ca62 Mon Sep 17 00:00:00 2001 From: Iain Samuel McLean Elder Date: Mon, 1 Jul 2024 03:22:22 +0200 Subject: [PATCH] Use installer list in dynamic matrix --- .github/workflows/test_changes.yml | 32 ++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_changes.yml b/.github/workflows/test_changes.yml index ce636d6..afd4aeb 100644 --- a/.github/workflows/test_changes.yml +++ b/.github/workflows/test_changes.yml @@ -4,8 +4,8 @@ on: workflow_dispatch: jobs: - list_changes: - name: List changed installers + list_installers: + name: List installers under test runs-on: ubuntu-latest outputs: installers: ${{ github.event_name == 'push' && steps.changed.outputs.changed_installers || steps.all.outputs.all_installers }} @@ -49,3 +49,31 @@ jobs: run: | echo "$EVENT_NAME" echo "$EVENT" + + test_installers: + name: Test installers + needs: list_installers + runs-on: ubuntu-latest + container: + image: ${{matrix.os}} + strategy: + fail-fast: false + matrix: + installer: ${{ fromJson(needs.list_installers.outputs.installers) }} + os: ["ubuntu:20.04", "ubuntu:22.04"] + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Prepare Docker + run: ./scripts/prepare_docker.bash + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Install ${{matrix.installer}} + shell: su norm --command "bash --login {0}" + run: programs/${{matrix.installer}}/install.bash + + - name: Install ${{matrix.installer}} again (test idempotency) + shell: su norm --command "bash --login {0}" + run: programs/${{matrix.installer}}/install.bash