Fix version php_modules/pdo_sqlsrv & php_modules/sqlsrv for php 7.4 #174
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# ------------------------------------------------------------------------------------------------- | |
# Job Name | |
# ------------------------------------------------------------------------------------------------- | |
name: build | |
# ------------------------------------------------------------------------------------------------- | |
# When to run | |
# ------------------------------------------------------------------------------------------------- | |
on: | |
# Push or pull_request will be determined in jobs.configure.enabled | |
push: | |
paths: | |
- '.ansible/**' | |
- '.github/workflows/action.yml' | |
- '.github/workflows/params.yml' | |
- 'Dockerfiles/**' | |
- 'php_modules/**' | |
- 'php_tools/**' | |
- 'tests/**' | |
- 'Makefile' | |
- '!**.md' | |
- '!.ansible/ansible.cfg' | |
pull_request: | |
paths: | |
- '.ansible/**' | |
- '.github/workflows/action.yml' | |
- '.github/workflows/params.yml' | |
- 'Dockerfiles/**' | |
- 'php_modules/**' | |
- 'php_tools/**' | |
- 'tests/**' | |
- 'Makefile' | |
- '!**.md' | |
- '!.ansible/ansible.cfg' | |
# Dispatch: allows for manual trigger via GH UI | |
workflow_dispatch: | |
jobs: | |
# ----------------------------------------------------------------------------------------------- | |
# (1/9) Determine parameter settings | |
# ----------------------------------------------------------------------------------------------- | |
params: | |
uses: ./.github/workflows/params.yml | |
# ----------------------------------------------------------------------------------------------- | |
# (2/9) Configure Build and Deploy Matrices | |
# ----------------------------------------------------------------------------------------------- | |
configure: | |
needs: [params] | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-configure.yml@master | |
with: | |
enabled: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || (github.event_name == 'pull_request' && (github.event.pull_request.user.login != 'cytopia')) }} | |
can_deploy: ${{ (github.repository == 'devilbox/docker-php-fpm') && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/release-')) }} | |
versions: ${{ needs.params.outputs.versions }} | |
refs: ${{ needs.params.outputs.refs }} | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
# ----------------------------------------------------------------------------------------------- | |
# (3/9) Build & Test base | |
# ----------------------------------------------------------------------------------------------- | |
build-base: | |
needs: | |
- configure | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
run_tests: false | |
upload_artifact: true | |
pull_base_image: true | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: base | |
stage_prev: '' | |
test-base: | |
needs: | |
- configure | |
- build-base | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: base | |
# ----------------------------------------------------------------------------------------------- | |
# (4/9) Build & Test mods | |
# ----------------------------------------------------------------------------------------------- | |
build-mods: | |
needs: | |
- configure | |
- build-base | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
run_tests: false | |
upload_artifact: true | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: mods | |
stage_prev: base | |
test-mods: | |
needs: | |
- configure | |
- build-mods | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: mods | |
# ----------------------------------------------------------------------------------------------- | |
# (5/9) Build & Test prod | |
# ----------------------------------------------------------------------------------------------- | |
build-prod: | |
needs: | |
- configure | |
- build-mods | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
run_tests: false | |
upload_artifact: true | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: prod | |
stage_prev: mods | |
test-prod: | |
needs: | |
- configure | |
- build-prod | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: prod | |
# ----------------------------------------------------------------------------------------------- | |
# (6/9) Build & Test slim | |
# ----------------------------------------------------------------------------------------------- | |
build-slim: | |
needs: | |
- configure | |
- build-prod | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
run_tests: false | |
upload_artifact: true | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: slim | |
stage_prev: prod | |
test-slim: | |
needs: | |
- configure | |
- build-slim | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: slim | |
# ----------------------------------------------------------------------------------------------- | |
# (7/9) Build & Test work | |
# ----------------------------------------------------------------------------------------------- | |
build-work: | |
needs: | |
- configure | |
- build-slim | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-build.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
run_tests: false | |
upload_artifact: true | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: work | |
stage_prev: slim | |
test-work: | |
needs: | |
- configure | |
- build-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-test.yml@master | |
with: | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: work | |
# ----------------------------------------------------------------------------------------------- | |
# (8/9) Push images | |
# ----------------------------------------------------------------------------------------------- | |
push-base: | |
needs: | |
- configure | |
- test-base | |
- test-mods | |
- test-prod | |
- test-slim | |
- test-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: base | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
push-mods: | |
needs: | |
- configure | |
- test-base | |
- test-mods | |
- test-prod | |
- test-slim | |
- test-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: mods | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
push-prod: | |
needs: | |
- configure | |
- test-base | |
- test-mods | |
- test-prod | |
- test-slim | |
- test-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: prod | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
push-slim: | |
needs: | |
- configure | |
- test-base | |
- test-mods | |
- test-prod | |
- test-slim | |
- test-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: slim | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
push-work: | |
needs: | |
- configure | |
- test-base | |
- test-mods | |
- test-prod | |
- test-slim | |
- test-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-image.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_build }} | |
artifact_prefix: ${{ needs.configure.outputs.artifact_prefix }} | |
stage: work | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
# ----------------------------------------------------------------------------------------------- | |
# (9/9) Push Manifests | |
# ----------------------------------------------------------------------------------------------- | |
manifest-base: | |
needs: | |
- configure | |
- push-base | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_deploy }} | |
versions: ${{ needs.configure.outputs.versions }} | |
stage: base | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
manifest-mods: | |
needs: | |
- configure | |
- push-mods | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_deploy }} | |
versions: ${{ needs.configure.outputs.versions }} | |
stage: mods | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
manifest-prod: | |
needs: | |
- configure | |
- push-prod | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_deploy }} | |
versions: ${{ needs.configure.outputs.versions }} | |
stage: prod | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
manifest-slim: | |
needs: | |
- configure | |
- push-slim | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_deploy }} | |
versions: ${{ needs.configure.outputs.versions }} | |
stage: slim | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
manifest-work: | |
needs: | |
- configure | |
- push-work | |
uses: devilbox/github-actions/.github/workflows/docker-multistage-push-manifest.yml@master | |
with: | |
can_deploy: ${{ needs.configure.outputs.can_login == 'true' && needs.configure.outputs.can_push == 'true' }} | |
has_refs: ${{ needs.configure.outputs.has_refs == 'true' }} | |
matrix: ${{ needs.configure.outputs.matrix_deploy }} | |
versions: ${{ needs.configure.outputs.versions }} | |
stage: work | |
secrets: | |
dockerhub_username: ${{ secrets.DOCKERHUB_USERNAME }} | |
dockerhub_password: ${{ secrets.DOCKERHUB_PASSWORD }} |