version: 2.1 orbs: codacy: codacy/base@1.2.1 references: default_php_job: &default_php_job docker: - image: circleci/php:7.4-node-browsers working_directory: ~/workdir workspace_attach: &workspace_attach attach_workspace: at: ~/ workspace_persist: &workspace_persist persist_to_workspace: paths: - workdir/* root: ~/ cache_restore: &cache_restore restore_cache: keys: - composer-v1-{{ checksum "composer.lock" }} - composer-v1- cache_save: &cache_save save_cache: key: composer-v1-{{ checksum "composer.lock" }} paths: - vendor jobs: test: <<: *default_php_job steps: - *workspace_attach - *cache_restore - run: command: composer install - *cache_save - run: command: composer test - *workspace_persist publish: <<: *default_php_job steps: - *workspace_attach - run: command: | composer codacyCoverage composer build - *workspace_persist publish_circleci_artifacts: machine: true working_directory: ~/workdir steps: - *workspace_attach - store_artifacts: path: ~/workdir/artifacts/ workflows: version: 2 compile_test_deploy: jobs: - codacy/checkout_and_version - test: requires: - codacy/checkout_and_version - publish: requires: - test filters: branches: only: - master - publish_circleci_artifacts: requires: - publish - codacy/publish_ghr: path: ~/workdir/artifacts/ requires: - publish_circleci_artifacts - codacy/tag_version: name: tag_version context: CodacyAWS requires: - codacy/publish_ghr