From 84a7d52c1bf6c9b26c5085c0853128e460f283ff Mon Sep 17 00:00:00 2001 From: Evgeniy Antonyuk Date: Tue, 6 Aug 2024 16:52:57 +0300 Subject: [PATCH] Implement a separate OCI test run for debian\redhat (#297) --- .github/workflows/ci-oci-install.yml | 33 +++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci-oci-install.yml b/.github/workflows/ci-oci-install.yml index 5e6272b1ca..fa6708b84b 100644 --- a/.github/workflows/ci-oci-install.yml +++ b/.github/workflows/ci-oci-install.yml @@ -5,9 +5,10 @@ on: types: [opened, reopened, synchronize] paths: - '.github/workflows/ci-oci-install.yml' - - 'install/OneClickInstall/**' - - '!install/OneClickInstall/install-Docker.sh' - - '!install/OneClickInstall/docspace-install.sh' + - 'install/OneClickInstall/install-Debian/**' + - 'install/OneClickInstall/install-RedHat/**' + - 'install/OneClickInstall/install-Debian.sh' + - 'install/OneClickInstall/install-RedHat.sh' schedule: - cron: '00 20 * * 6' # At 23:00 on Saturday. @@ -57,6 +58,19 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: + - name: Checkout code + if: github.event_name == 'pull_request' + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Determine affected distributions + id: determine-distros + if: github.event_name == 'pull_request' + run: | + CHANGED_FILES=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.sha }}) + echo "debian_changed=$(echo "$CHANGED_FILES" | grep -q 'install-Debian' && echo true || echo false)" >> $GITHUB_ENV + echo "redhat_changed=$(echo "$CHANGED_FILES" | grep -q 'install-RedHat' && echo true || echo false)" >> $GITHUB_ENV - name: Set matrix names id: set-matrix @@ -69,11 +83,20 @@ jobs: {"execute": '${{ github.event.inputs.debian12 || true }}', "name": "Debian12", "os": "debian12", "distr": "generic"}, {"execute": '${{ github.event.inputs.ubuntu2004 || true }}', "name": "Ubuntu20.04", "os": "ubuntu2004", "distr": "generic"}, {"execute": '${{ github.event.inputs.ubuntu2204 || true }}', "name": "Ubuntu22.04", "os": "ubuntu2204", "distr": "generic"}, - {"execute": '${{ github.event.inputs.ubuntu2204 || true }}', "name": "Ubuntu24.04", "os": "ubuntu-24.04", "distr": "bento"}, + {"execute": '${{ github.event.inputs.ubuntu2404 || true }}', "name": "Ubuntu24.04", "os": "ubuntu-24.04", "distr": "bento"}, {"execute": '${{ github.event.inputs.fedora39 || true }}', "name": "Fedora39", "os": "39-cloud-base", "distr": "fedora"}, {"execute": '${{ github.event.inputs.fedora40 || true }}', "name": "Fedora40", "os": "fedora-40", "distr": "bento"} ] - }' | jq -c '{include: [.include[] | select(.execute == true)]}') + }' | jq -c '.include') + + matrix=$(jq -c --arg REDHAT_CHANGED "${{ env.redhat_changed }}" --arg DEBIAN_CHANGED "${{ env.debian_changed }}" ' + { include: [.[] | select( + ($REDHAT_CHANGED == "true" and $DEBIAN_CHANGED == "true" and .execute == true) or + ($REDHAT_CHANGED == "true" and (.name | test("CentOS|Fedora"))) or + ($DEBIAN_CHANGED == "true" and (.name | test("Debian|Ubuntu"))) or + ($REDHAT_CHANGED == "false" and $DEBIAN_CHANGED == "false" and .execute == true))] + }' <<< "$matrix") + echo "matrix=${matrix}" >> $GITHUB_OUTPUT vagrant-up: