From 93dbd96387a3ab0e2d999aa0a364226ed2dd0613 Mon Sep 17 00:00:00 2001 From: Alex Skrypnyk Date: Sat, 13 Jan 2024 12:03:38 +1100 Subject: [PATCH] [#1137] Moved docs publishing to GHA. --- .circleci/config.yml | 47 ------------------- .../installer/src/Command/InstallCommand.php | 3 ++ .drevops/tests/bats/_helper.bash | 1 + .github/workflows/drevops-publish-docs.yml | 43 +++++++++++++++++ 4 files changed, 47 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/drevops-publish-docs.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 3d9da681c..d4d60c64a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -616,40 +616,6 @@ jobs: # the main workflow are separated from this one. DREVOPS_CI_DB_CACHE_BRANCH: drevops-dev-didi-ii - #----------------------------------------------------------------------------- - # Publish docs to docs.drevops.com - # @todo Move this to GitHub Actions. - #----------------------------------------------------------------------------- - drevops-dev-deploy-docs: - <<: *runner_config - steps: - - checkout - - *step_process_codebase - - *step_setup_remote_docker - - *step_setup_docker_network - - add_ssh_keys: - fingerprints: - - "22:fe:71:f4:65:8d:cb:81:9c:31:09:4e:03:0b:33:b7" - - run: - name: Build and test docs - command: | - cd .drevops/docs - ahoy build - ahoy lint - ahoy test - - run: - name: Publish docs - command: | - cd .drevops/docs - export DOCS_PUBLISH_REMOTE_URL=https://github.com/drevops/drevops_docs.git - export DOCS_PUBLISH_SRC_TAG=${CIRCLE_TAG:-} - export DOCS_PUBLISH_SRC_BRANCH=${CIRCLE_BRANCH:-} - export DOCS_PUBLISH_SSH_FINGERPRINT="22:fe:71:f4:65:8d:cb:81:9c:31:09:4e:03:0b:33:b7" - export DOCS_PUBLISH_CANARY_BRANCH="develop" - export DOCS_PUBLISH_COMMIT_MESSAGE="Automatically pushed from drevops/drevops" - export DOCS_PUBLISH_GIT_EMAIL="deployer@drevops.com" - ./.utils/publish.sh - #----------------------------------------------------------------------------- # Publish installer to install.drevops.com # @todo Move this to GitHub Actions. @@ -810,19 +776,6 @@ workflows: tags: only: /^[0-9]+(\.[0-9]+)+(-rc[0-9]+)?$/ - # Build and publish DrevOps docs. - - drevops-dev-deploy-docs: - requires: - - build - - drevops-dev-test - - drevops-dev-test-workflow - filters: - branches: - # 'main' or any branch with 'docs' in the name. - only: /^main$|^develop$|.*docs.*/ - tags: - only: /^[0-9]+(\.[0-9]+)+(-rc[0-9]+)?$/ - # Publish DrevOps installer. - drevops-dev-deploy-installer: requires: diff --git a/.drevops/installer/src/Command/InstallCommand.php b/.drevops/installer/src/Command/InstallCommand.php index c9b39b91c..8052720a2 100644 --- a/.drevops/installer/src/Command/InstallCommand.php +++ b/.drevops/installer/src/Command/InstallCommand.php @@ -567,6 +567,9 @@ protected function processDrevopsInternal($dir) { static::rmdirRecursive("$dir/.drevops/tests"); static::rmdirRecursive("$dir/scripts/drevops/utils"); @unlink("$dir/.github/FUNDING.yml"); + foreach (glob("$dir/.github/drevops-*.yml") as $file) { + @unlink($file); + } // Remove other unhandled tokenized comments. $this->removeTokenLine('#;<', $dir); diff --git a/.drevops/tests/bats/_helper.bash b/.drevops/tests/bats/_helper.bash index ae00e386d..cae306f18 100644 --- a/.drevops/tests/bats/_helper.bash +++ b/.drevops/tests/bats/_helper.bash @@ -414,6 +414,7 @@ assert_files_present_drevops() { assert_dir_not_exists ".drevops" assert_file_not_exists "LICENSE" assert_file_not_exists ".github/FUNDING.yml" + assert_file_not_exists ".github/drevops-publish-docs.yml" assert_file_not_contains ".circleci/config.yml" "drevops-dev-test" assert_file_not_contains ".circleci/config.yml" "drevops-dev-test-workflow" assert_file_not_contains ".circleci/config.yml" "drevops-dev-test-deployment" diff --git a/.github/workflows/drevops-publish-docs.yml b/.github/workflows/drevops-publish-docs.yml new file mode 100644 index 000000000..86d3760e3 --- /dev/null +++ b/.github/workflows/drevops-publish-docs.yml @@ -0,0 +1,43 @@ +# This action is used for DrevOps maintenance. It will not be used in the scaffolded project. +name: Publish documentation to GitHub Pages for DrevOps + +on: + push: + tags: + - /^[0-9]+(\.[0-9]+)+(-rc[0-9]+)?$/ + branches: + - /^main$|^develop$|.*docs.*/ + +jobs: + publish-docs: + runs-on: drevops/ci-runner:23.12.0 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup SSH private key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.DOCS_PUBLISH_SSH_PRIVATE_KEY }} + name: id_rsa_docs_publish_ssh_private_key + known_hosts: github.com + + - name: Build and test docs + run: | + cd .drevops/docs + ahoy build + ahoy lint + ahoy test + + - name: Publish docs + run: | + cd .drevops/docs + export DOCS_PUBLISH_REMOTE_URL=https://github.com/drevops/drevops_docs.git + export DOCS_PUBLISH_SRC_TAG=${CIRCLE_TAG:-} + export DOCS_PUBLISH_SRC_BRANCH=${CIRCLE_BRANCH:-} + export DOCS_PUBLISH_SSH_FILE="~/.ssh/id_rsa_docs_publish_ssh_private_key" + export DOCS_PUBLISH_CANARY_BRANCH="develop" + export DOCS_PUBLISH_COMMIT_MESSAGE="Automatically pushed from drevops/drevops" + export DOCS_PUBLISH_GIT_EMAIL="deployer@drevops.com" + ./.utils/publish.sh