From 7fc687546ce579c0ec6c0e4af04584210d7e7768 Mon Sep 17 00:00:00 2001 From: Al-Amin Firdows Date: Tue, 30 Sep 2025 10:48:36 +0600 Subject: [PATCH 1/3] fix(deploy): Update cron schedule and unify PHP version array syntax --- .github/workflows/deploy.yml | 124 +++++++++++++++++------------------ 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2790ffc..72f31d7 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -3,12 +3,12 @@ name: Build, Test, and Push Docker images on: workflow_dispatch: schedule: - - cron: "0 0 * * 0" + - cron: '0 0 1,15 * *' push: branches: - - "main" + - 'main' tags: - - "*" + - '*' env: DOCKER_ORG_USERNAME: ${{ vars.DOCKER_ORG_USERNAME || 'meghsh' }} @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4"] + php_version: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] steps: - name: Checkout uses: actions/checkout@v4 @@ -71,66 +71,66 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: ["7.4", "8.1", "8.2", "8.3", "8.4" ] + php_version: ['7.4', '8.1', '8.2', '8.3', '8.4'] include: - - php_version: "7.4" - lsphp: "lsphp74" - - php_version: "8.1" - lsphp: "lsphp81" - - php_version: "8.2" - lsphp: "lsphp82" - - php_version: "8.3" - lsphp: "lsphp83" - - php_version: "8.4" - lsphp: "lsphp84" + - php_version: '7.4' + lsphp: 'lsphp74' + - php_version: '8.1' + lsphp: 'lsphp81' + - php_version: '8.2' + lsphp: 'lsphp82' + - php_version: '8.3' + lsphp: 'lsphp83' + - php_version: '8.4' + lsphp: 'lsphp84' steps: - - name: Checkout - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - with: + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: image: tonistiigi/binfmt:qemu-v7.0.0-28 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build OpenLiteSpeed Docker image - uses: docker/build-push-action@v5 - with: - file: openlitespeed/Dockerfile - context: openlitespeed - load: true - tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} - build-args: | - PHP_VERSION=${{ matrix.php_version }} - LSPHP=${{ matrix.lsphp }} - - - name: Install Container Structure Test - run: | - curl -LO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 - chmod +x container-structure-test-linux-amd64 - sudo mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test - - - name: Run Container Structure Tests - run: | - container-structure-test test --image ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} --config ols-structure-test.yaml - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Push OpenLiteSpeed Docker image - if: success() - uses: docker/build-push-action@v5 - with: - file: openlitespeed/Dockerfile - context: openlitespeed - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} - build-args: | - PHP_VERSION=${{ matrix.php_version }} - LSPHP=${{ matrix.lsphp }} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build OpenLiteSpeed Docker image + uses: docker/build-push-action@v5 + with: + file: openlitespeed/Dockerfile + context: openlitespeed + load: true + tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} + build-args: | + PHP_VERSION=${{ matrix.php_version }} + LSPHP=${{ matrix.lsphp }} + + - name: Install Container Structure Test + run: | + curl -LO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 + chmod +x container-structure-test-linux-amd64 + sudo mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test + + - name: Run Container Structure Tests + run: | + container-structure-test test --image ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} --config ols-structure-test.yaml + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Push OpenLiteSpeed Docker image + if: success() + uses: docker/build-push-action@v5 + with: + file: openlitespeed/Dockerfile + context: openlitespeed + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} + build-args: | + PHP_VERSION=${{ matrix.php_version }} + LSPHP=${{ matrix.lsphp }} From 47c89180b6428568f256531c16e7f7dcc3444be5 Mon Sep 17 00:00:00 2001 From: Al-Amin Firdows Date: Tue, 30 Sep 2025 10:48:44 +0600 Subject: [PATCH 2/3] fix(tests): Unify PHP version array syntax in workflow configuration --- .github/workflows/test.yml | 70 +++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c83c72d..e26bb4a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php_version: ["7.4", "8.0", "8.1", "8.2", "8.3", "8.4"] + php_version: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] steps: - name: Checkout uses: actions/checkout@v4 @@ -52,43 +52,43 @@ jobs: strategy: matrix: include: - - php_version: "7.4" - lsphp: "lsphp74" - - php_version: "8.1" - lsphp: "lsphp81" - - php_version: "8.2" - lsphp: "lsphp82" - - php_version: "8.3" - lsphp: "lsphp83" - - php_version: "8.4" - lsphp: "lsphp84" + - php_version: '7.4' + lsphp: 'lsphp74' + - php_version: '8.1' + lsphp: 'lsphp81' + - php_version: '8.2' + lsphp: 'lsphp82' + - php_version: '8.3' + lsphp: 'lsphp83' + - php_version: '8.4' + lsphp: 'lsphp84' steps: - - name: Checkout - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - - name: Build OpenLiteSpeed Docker image - uses: docker/build-push-action@v5 - with: - file: openlitespeed/Dockerfile - context: openlitespeed - load: true - tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} - build-args: | - PHP_VERSION=${{ matrix.php_version }} - LSPHP=${{ matrix.lsphp }} + - name: Build OpenLiteSpeed Docker image + uses: docker/build-push-action@v5 + with: + file: openlitespeed/Dockerfile + context: openlitespeed + load: true + tags: ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} + build-args: | + PHP_VERSION=${{ matrix.php_version }} + LSPHP=${{ matrix.lsphp }} - - name: Install Container Structure Test - run: | - curl -LO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 - chmod +x container-structure-test-linux-amd64 - sudo mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test + - name: Install Container Structure Test + run: | + curl -LO https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64 + chmod +x container-structure-test-linux-amd64 + sudo mv container-structure-test-linux-amd64 /usr/local/bin/container-structure-test - - name: Run Container Structure Tests - run: | - container-structure-test test --image ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} --config ols-structure-test.yaml + - name: Run Container Structure Tests + run: | + container-structure-test test --image ${{ env.DOCKER_ORG_USERNAME }}/openlitespeed:${{ matrix.php_version }} --config ols-structure-test.yaml From 28f8f0386242cb70be1d68cacc4cae629b97f340 Mon Sep 17 00:00:00 2001 From: Al-Amin Firdows Date: Tue, 30 Sep 2025 10:54:55 +0600 Subject: [PATCH 3/3] fix(workflows): Add concurrency settings to deploy and test workflows --- .github/workflows/deploy.yml | 4 ++++ .github/workflows/test.yml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 72f31d7..0aeca92 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -10,6 +10,10 @@ on: tags: - '*' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: DOCKER_ORG_USERNAME: ${{ vars.DOCKER_ORG_USERNAME || 'meghsh' }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e26bb4a..5bdc40d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,6 +6,10 @@ on: branches: - main +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: DOCKER_ORG_USERNAME: ${{ vars.DOCKER_ORG_USERNAME || 'meghsh' }}