From 5d2c42968d03bdfed84f63bb1afc07206f33ce6f Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Fri, 21 Jun 2024 10:23:00 -0500 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=F0=9F=94=A5=20remove=20u24=20s?= =?UTF-8?q?taging=5Fworkflows=20and=20u24=20starter=20workflows?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/README.md | 53 ---------------- .../anchored_u24_element_before_release.yaml | 28 --------- .../anchored_u24_element_release_call.yaml | 59 ------------------ .../anchored_u24_element_tag_to_release.yaml | 25 -------- .../anchored_u24_workflow_before_release.yaml | 29 --------- .../anchored_u24_workflow_release_call.yaml | 46 -------------- .../anchored_u24_workflow_tag_to_release.yaml | 26 -------- .staging_workflows/normalize.sh | 23 ------- make-dev.sh | 2 - make-prod.sh | 2 - make-test.sh | 2 - run-act.sh | 7 --- workflow-templates/README.md | 4 -- workflow-templates/U24CICD_V2.drawio | 1 - workflow-templates/U24CICD_V2.drawio.png | Bin 135450 -> 0 bytes ...u24_element_before_release.properties.json | 4 -- .../u24_element_before_release.yaml | 17 ----- .../u24_element_release_call.properties.json | 4 -- .../u24_element_release_call.yaml | 28 --------- ...u24_element_tag_to_release.properties.json | 4 -- .../u24_element_tag_to_release.yaml | 14 ----- ...24_workflow_before_release.properties.json | 4 -- .../u24_workflow_before_release.yaml | 18 ------ .../u24_workflow_release_call.properties.json | 4 -- .../u24_workflow_release_call.yaml | 20 ------ ...24_workflow_tag_to_release.properties.json | 4 -- .../u24_workflow_tag_to_release.yaml | 15 ----- 27 files changed, 443 deletions(-) delete mode 100644 .github/workflows/README.md delete mode 100644 .staging_workflows/anchored_u24_element_before_release.yaml delete mode 100644 .staging_workflows/anchored_u24_element_release_call.yaml delete mode 100644 .staging_workflows/anchored_u24_element_tag_to_release.yaml delete mode 100644 .staging_workflows/anchored_u24_workflow_before_release.yaml delete mode 100644 .staging_workflows/anchored_u24_workflow_release_call.yaml delete mode 100644 .staging_workflows/anchored_u24_workflow_tag_to_release.yaml delete mode 100755 .staging_workflows/normalize.sh delete mode 100644 make-dev.sh delete mode 100644 make-prod.sh delete mode 100644 make-test.sh delete mode 100644 run-act.sh delete mode 100644 workflow-templates/README.md delete mode 100644 workflow-templates/U24CICD_V2.drawio delete mode 100644 workflow-templates/U24CICD_V2.drawio.png delete mode 100644 workflow-templates/u24_element_before_release.properties.json delete mode 100644 workflow-templates/u24_element_before_release.yaml delete mode 100644 workflow-templates/u24_element_release_call.properties.json delete mode 100644 workflow-templates/u24_element_release_call.yaml delete mode 100644 workflow-templates/u24_element_tag_to_release.properties.json delete mode 100644 workflow-templates/u24_element_tag_to_release.yaml delete mode 100644 workflow-templates/u24_workflow_before_release.properties.json delete mode 100644 workflow-templates/u24_workflow_before_release.yaml delete mode 100644 workflow-templates/u24_workflow_release_call.properties.json delete mode 100644 workflow-templates/u24_workflow_release_call.yaml delete mode 100644 workflow-templates/u24_workflow_tag_to_release.properties.json delete mode 100644 workflow-templates/u24_workflow_tag_to_release.yaml diff --git a/.github/workflows/README.md b/.github/workflows/README.md deleted file mode 100644 index 79503ef..0000000 --- a/.github/workflows/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Datajoint Github Actions Workflow - -## Github Actions Workflow Triggers -- before release -``` -name: -on: - pull_request: - push: - branches: - - '**' - tags-ignore: - - '**' - workflow_dispatch: -``` - -- depending on a prior workflow run, most of the time for security purpose -``` -name: -on: - workflow_run: - workflows: [""] - types: - - completed -``` - -- tag to release -``` -name: -on: - push: - tags: - - '*.*.*' - - 'test*.*.*' -``` - -## Reusable Workflow Callers -- mkdocs -``` -jobs: - call_mkdocs_release: - uses: datajoint/.github/.github/workflows/mkdocs_release.yaml@main - permissions: - contents: write # give github actions permission to push gh-pages branch -``` - -- context check(optional: mostly for debugging github actions workflows) -``` -jobs: - call_context_check: - uses: datajoint/.github/.github/workflows/context_check.yaml@main -``` - diff --git a/.staging_workflows/anchored_u24_element_before_release.yaml b/.staging_workflows/anchored_u24_element_before_release.yaml deleted file mode 100644 index d1d6e43..0000000 --- a/.staging_workflows/anchored_u24_element_before_release.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: u24_element_before_release - -on: - pull_request: - push: - branches: - - '**' - tags-ignore: - - '**' - workflow_dispatch: - -anchor-dev-build-call: &dev-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -anchor-test-build-call: &test-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -anchor-prod-build-call: &prod-build-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_elements_build_alpine: - !!merge <<: *$STAGE-build-call - with: - py_ver: 3.9 - image: djbase \ No newline at end of file diff --git a/.staging_workflows/anchored_u24_element_release_call.yaml b/.staging_workflows/anchored_u24_element_release_call.yaml deleted file mode 100644 index 77503ab..0000000 --- a/.staging_workflows/anchored_u24_element_release_call.yaml +++ /dev/null @@ -1,59 +0,0 @@ -name: u24_element_release_call - -on: - workflow_run: - workflows: ["u24_element_tag_to_release"] - types: - - completed - -anchor-dev-release-call: &dev-release-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_release.yaml@main - -anchor-test-release-call: &test-release-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_release.yaml@main - -anchor-prod-release-call: &prod-release-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_release.yaml@main - -anchor-dev-release-if: &dev-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'yambottle' && - !contains(github.event.workflow_run.head_branch, 'test') - -anchor-test-release-if: &test-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'yambottle' && - !contains(github.event.workflow_run.head_branch, 'test') - -anchor-prod-release-if: &prod-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'datajoint' && - !contains(github.event.workflow_run.head_branch, 'test') - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - test_call_u24_elements_release_alpine: - if: >- - github.event.workflow_run.conclusion == 'success' && - ( contains(github.event.workflow_run.head_branch, 'test') || - (github.event.workflow_run.event == 'pull_request')) - !!merge <<: *$STAGE-release-call - with: - py_ver: 3.9 - twine_repo: testpypi - secrets: - TWINE_USERNAME: ${{secrets.TWINE_TEST_USERNAME}} - TWINE_PASSWORD: ${{secrets.TWINE_TEST_PASSWORD}} - - call_u24_elements_release_alpine: - !!merge <<: *$STAGE-release-if - !!merge <<: *$STAGE-release-call - with: - py_ver: 3.9 - secrets: - TWINE_USERNAME: ${{secrets.TWINE_USERNAME}} - TWINE_PASSWORD: ${{secrets.TWINE_PASSWORD}} diff --git a/.staging_workflows/anchored_u24_element_tag_to_release.yaml b/.staging_workflows/anchored_u24_element_tag_to_release.yaml deleted file mode 100644 index cc6be67..0000000 --- a/.staging_workflows/anchored_u24_element_tag_to_release.yaml +++ /dev/null @@ -1,25 +0,0 @@ -name: u24_element_tag_to_release - -on: - push: - tags: - - '*.*.*' - - 'test*.*.*' - -anchor-dev-build-call: &dev-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -anchor-test-build-call: &test-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -anchor-prod-build-call: &prod-build-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_elements_build_alpine: - !!merge <<: *$STAGE-build-call - with: - py_ver: 3.9 - image: djbase \ No newline at end of file diff --git a/.staging_workflows/anchored_u24_workflow_before_release.yaml b/.staging_workflows/anchored_u24_workflow_before_release.yaml deleted file mode 100644 index 5076e8e..0000000 --- a/.staging_workflows/anchored_u24_workflow_before_release.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: u24_workflow_before_release -on: - pull_request: - push: - branches: - - '**' - tags-ignore: - - '**' - workflow_dispatch: - -anchor-dev-build-call: &dev-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -anchor-test-build-call: &test-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -anchor-prod-build-call: &prod-build-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - - call_u24_workflow_build_debian: - !!merge <<: *$STAGE-build-call - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian \ No newline at end of file diff --git a/.staging_workflows/anchored_u24_workflow_release_call.yaml b/.staging_workflows/anchored_u24_workflow_release_call.yaml deleted file mode 100644 index 9f26658..0000000 --- a/.staging_workflows/anchored_u24_workflow_release_call.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: u24_workflow_release_call - -on: - workflow_run: - workflows: ["u24_workflow_tag_to_release"] - types: - - completed - -anchor-dev-release-call: &dev-release-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_release.yaml@main - -anchor-test-release-call: &test-release-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_release.yaml@main - -anchor-prod-release-call: &prod-release-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_release.yaml@main - -anchor-dev-release-if: &dev-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'yambottle' - -anchor-test-release-if: &test-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'yambottle' - -anchor-prod-release-if: &prod-release-if - if: >- - github.event.workflow_run.conclusion == 'success' && - github.repository_owner == 'datajoint' - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - - call_u24_workflow_release_debian: - !!merge <<: *$STAGE-release-if - !!merge <<: *$STAGE-release-call - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian - secrets: - REGISTRY_USERNAME: ${{secrets.DOCKER_USERNAME}} - REGISTRY_PASSWORD: ${{secrets.DOCKER_PASSWORD}} \ No newline at end of file diff --git a/.staging_workflows/anchored_u24_workflow_tag_to_release.yaml b/.staging_workflows/anchored_u24_workflow_tag_to_release.yaml deleted file mode 100644 index eae8710..0000000 --- a/.staging_workflows/anchored_u24_workflow_tag_to_release.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: u24_workflow_tag_to_release - -on: - push: - tags: - - '*.*.*' - - 'test*.*.*' - -anchor-dev-build-call: &dev-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -anchor-test-build-call: &test-build-call - uses: yambottle/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -anchor-prod-build-call: &prod-build-call - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_workflow_build_debian: - !!merge <<: *$STAGE-build-call - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian \ No newline at end of file diff --git a/.staging_workflows/normalize.sh b/.staging_workflows/normalize.sh deleted file mode 100755 index 49b4d42..0000000 --- a/.staging_workflows/normalize.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# For Github Action that doesn't support anchor yet... -# https://github.com/actions/runner/issues/1182 -# yq is not the version from pypi with the same name. - -export STAGE=${1:-prod} -# .yaml in .staging_workflows has to be named using a prefix, e.g., 'anchored_', this will be removed when normalizing -PREFIX=${2:-anchored_} -SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) - -run_yq() { - local src_file - local filename - local target - for src_file in "${SCRIPT_DIR}"/*.y*ml; do - [[ ! -f ${src_file} ]] && continue - filename=$(basename "$src_file") - target="${SCRIPT_DIR}"/../workflow-templates/${filename#"$PREFIX"} - envsubst '${STAGE}' <"$src_file" | yq e 'explode(.) | del(.anchor-*)' >"$target" - done -} - -run_yq diff --git a/make-dev.sh b/make-dev.sh deleted file mode 100644 index e9bdb38..0000000 --- a/make-dev.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -bash ./.staging_workflows/normalize.sh dev \ No newline at end of file diff --git a/make-prod.sh b/make-prod.sh deleted file mode 100644 index 806e39e..0000000 --- a/make-prod.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -bash ./.staging_workflows/normalize.sh prod \ No newline at end of file diff --git a/make-test.sh b/make-test.sh deleted file mode 100644 index 3870e77..0000000 --- a/make-test.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -bash ./.staging_workflows/normalize.sh test \ No newline at end of file diff --git a/run-act.sh b/run-act.sh deleted file mode 100644 index 4ae9cdf..0000000 --- a/run-act.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -bash $SCRIPT_DIR/.staging_workflows/normalize.sh dev -cd .. -act -P ubuntu-latest=drewyangdev/ubuntu:act-latest \ - --secret-file $SCRIPT_DIR/.test/.secrets \ - --artifact-server-path $SCRIPT_DIR/.test/artifacts/ \ No newline at end of file diff --git a/workflow-templates/README.md b/workflow-templates/README.md deleted file mode 100644 index 32b541f..0000000 --- a/workflow-templates/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Datajoint Starter CICD - -## U24 -![U24_CICD_flow_chart](./U24CICD_V2.drawio.png) \ No newline at end of file diff --git a/workflow-templates/U24CICD_V2.drawio b/workflow-templates/U24CICD_V2.drawio deleted file mode 100644 index aea6672..0000000 --- a/workflow-templates/U24CICD_V2.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/workflow-templates/U24CICD_V2.drawio.png b/workflow-templates/U24CICD_V2.drawio.png deleted file mode 100644 index 58e81803c37908274c79d16ccf01fc43b8cb5866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135450 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 z 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 diff --git a/workflow-templates/u24_element_before_release.properties.json b/workflow-templates/u24_element_before_release.properties.json deleted file mode 100644 index 9624e59..0000000 --- a/workflow-templates/u24_element_before_release.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_element_before_release", - "description": "U24 element CI triggered by every push or open PR" -} \ No newline at end of file diff --git a/workflow-templates/u24_element_before_release.yaml b/workflow-templates/u24_element_before_release.yaml deleted file mode 100644 index 692cf82..0000000 --- a/workflow-templates/u24_element_before_release.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: u24_element_before_release -on: - pull_request: - push: - branches: - - '**' - tags-ignore: - - '**' - workflow_dispatch: -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_elements_build_alpine: - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - with: - py_ver: 3.9 - image: djbase diff --git a/workflow-templates/u24_element_release_call.properties.json b/workflow-templates/u24_element_release_call.properties.json deleted file mode 100644 index 3eea116..0000000 --- a/workflow-templates/u24_element_release_call.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_element_release_call", - "description": "U24 element CD triggered by u24_element_tag_to_release completed" -} diff --git a/workflow-templates/u24_element_release_call.yaml b/workflow-templates/u24_element_release_call.yaml deleted file mode 100644 index 4324cca..0000000 --- a/workflow-templates/u24_element_release_call.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: u24_element_release_call -on: - workflow_run: - workflows: ["u24_element_tag_to_release"] - types: - - completed -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - test_call_u24_elements_release_alpine: - if: >- - github.event.workflow_run.conclusion == 'success' && ( contains(github.event.workflow_run.head_branch, 'test') || (github.event.workflow_run.event == 'pull_request')) - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_release.yaml@main - with: - py_ver: 3.9 - twine_repo: testpypi - secrets: - TWINE_USERNAME: ${{secrets.TWINE_TEST_USERNAME}} - TWINE_PASSWORD: ${{secrets.TWINE_TEST_PASSWORD}} - call_u24_elements_release_alpine: - if: >- - github.event.workflow_run.conclusion == 'success' && github.repository_owner == 'datajoint' && !contains(github.event.workflow_run.head_branch, 'test') - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_release.yaml@main - with: - py_ver: 3.9 - secrets: - TWINE_USERNAME: ${{secrets.TWINE_USERNAME}} - TWINE_PASSWORD: ${{secrets.TWINE_PASSWORD}} diff --git a/workflow-templates/u24_element_tag_to_release.properties.json b/workflow-templates/u24_element_tag_to_release.properties.json deleted file mode 100644 index 7385da7..0000000 --- a/workflow-templates/u24_element_tag_to_release.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_element_tag_to_release", - "description": "U24 element CI triggered by release tagging *.*.* or test*.*.*" -} \ No newline at end of file diff --git a/workflow-templates/u24_element_tag_to_release.yaml b/workflow-templates/u24_element_tag_to_release.yaml deleted file mode 100644 index 57334e9..0000000 --- a/workflow-templates/u24_element_tag_to_release.yaml +++ /dev/null @@ -1,14 +0,0 @@ -name: u24_element_tag_to_release -on: - push: - tags: - - '*.*.*' - - 'test*.*.*' -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_elements_build_alpine: - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_element_build.yaml@main - with: - py_ver: 3.9 - image: djbase diff --git a/workflow-templates/u24_workflow_before_release.properties.json b/workflow-templates/u24_workflow_before_release.properties.json deleted file mode 100644 index a287f1c..0000000 --- a/workflow-templates/u24_workflow_before_release.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_workflow_before_release", - "description": "U24 workflow CI triggered by every push or open PR" -} \ No newline at end of file diff --git a/workflow-templates/u24_workflow_before_release.yaml b/workflow-templates/u24_workflow_before_release.yaml deleted file mode 100644 index 059595e..0000000 --- a/workflow-templates/u24_workflow_before_release.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: u24_workflow_before_release -on: - pull_request: - push: - branches: - - '**' - tags-ignore: - - '**' - workflow_dispatch: -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_workflow_build_debian: - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian diff --git a/workflow-templates/u24_workflow_release_call.properties.json b/workflow-templates/u24_workflow_release_call.properties.json deleted file mode 100644 index c1a4f08..0000000 --- a/workflow-templates/u24_workflow_release_call.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_workflow_release_call", - "description": "U24 workflow CD triggered by u24_workflow_tag_to_release completed" -} \ No newline at end of file diff --git a/workflow-templates/u24_workflow_release_call.yaml b/workflow-templates/u24_workflow_release_call.yaml deleted file mode 100644 index 59e995a..0000000 --- a/workflow-templates/u24_workflow_release_call.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: u24_workflow_release_call -on: - workflow_run: - workflows: ["u24_workflow_tag_to_release"] - types: - - completed -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_workflow_release_debian: - if: >- - github.event.workflow_run.conclusion == 'success' && github.repository_owner == 'datajoint' - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_release.yaml@main - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian - secrets: - REGISTRY_USERNAME: ${{secrets.DOCKER_USERNAME}} - REGISTRY_PASSWORD: ${{secrets.DOCKER_PASSWORD}} diff --git a/workflow-templates/u24_workflow_tag_to_release.properties.json b/workflow-templates/u24_workflow_tag_to_release.properties.json deleted file mode 100644 index 5d2ae2a..0000000 --- a/workflow-templates/u24_workflow_tag_to_release.properties.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "u24_workflow_tag_to_release", - "description": "U24 workflow CI triggered by release tagging *.*.*" -} diff --git a/workflow-templates/u24_workflow_tag_to_release.yaml b/workflow-templates/u24_workflow_tag_to_release.yaml deleted file mode 100644 index 4bac5bc..0000000 --- a/workflow-templates/u24_workflow_tag_to_release.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: u24_workflow_tag_to_release -on: - push: - tags: - - '*.*.*' - - 'test*.*.*' -jobs: - call_context_check: - uses: dj-sciops/djsciops-cicd/.github/workflows/context_check.yaml@main - call_u24_workflow_build_debian: - uses: dj-sciops/djsciops-cicd/.github/workflows/u24_workflow_build.yaml@main - with: - jhub_ver: 1.4.2 - py_ver: 3.9 - dist: debian From 56a1620d0e4ee8ddc2ff3bcb9b02fa97dd5b77d0 Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Mon, 24 Jun 2024 13:59:32 -0500 Subject: [PATCH 2/3] =?UTF-8?q?fix(reusable-workflows):=20=E2=9C=A8=20sema?= =?UTF-8?q?ntic-release=20available=20|=20updated=20devcontainer=20|=20dep?= =?UTF-8?q?recated=20old=20devcontainer=20and=20make=20release?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/devcontainer-build-publish.yaml | 33 +++++++ .github/workflows/devcontainer-build.yaml | 5 +- .github/workflows/devcontainer-publish.yaml | 5 +- .github/workflows/make_github_release.yaml | 5 +- .github/workflows/semantic-release.yaml | 94 +++++++++++++++++++ .vscode/settings.json | 4 +- 6 files changed, 140 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/devcontainer-build-publish.yaml create mode 100644 .github/workflows/semantic-release.yaml diff --git a/.github/workflows/devcontainer-build-publish.yaml b/.github/workflows/devcontainer-build-publish.yaml new file mode 100644 index 0000000..7afc76b --- /dev/null +++ b/.github/workflows/devcontainer-build-publish.yaml @@ -0,0 +1,33 @@ +name: Build and Publish DevContainer Image +on: + workflow_call: + secrets: + DOCKERHUB_USERNAME: + required: true + DOCKERHUB_TOKEN: + required: true +jobs: + devcontainer-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: | + sudo curl https://github.com/mikefarah/yq/releases/download/v4.34.1/yq_linux_amd64\ + -Lo /usr/local/bin/yq + sudo chmod +x /usr/local/bin/yq + yq --version + - name: Determine metadata + run: | + PIP_PACKAGE_NAME=$(ls */version.py | cut -d '/' -f 1) + echo "PIP_PACKAGE_NAME=${PIP_PACKAGE_NAME}" >> $GITHUB_ENV + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{secrets.DOCKERHUB_USERNAME}} + password: ${{secrets.DOCKERHUB_TOKEN}} + - name: Build image + run: | + IMAGE=$(yq eval '.services.app.image' ./.devcontainer/docker-compose.yaml) + docker build -t "${IMAGE}" -f ./.devcontainer/Dockerfile . + docker push "${IMAGE}" diff --git a/.github/workflows/devcontainer-build.yaml b/.github/workflows/devcontainer-build.yaml index 020cf1a..0d0e7f7 100644 --- a/.github/workflows/devcontainer-build.yaml +++ b/.github/workflows/devcontainer-build.yaml @@ -1,10 +1,13 @@ -name: Build DevContainer Image +name: Deprecated:Build DevContainer Image on: workflow_call: jobs: devcontainer-build: runs-on: ubuntu-latest steps: + - name: Deprecation Warning + run: | + echo "This action is deprecated. Please use the 'Build and Publish DevContainer Image' reusable workflow instead." - uses: actions/checkout@v3 - name: Install dependencies run: | diff --git a/.github/workflows/devcontainer-publish.yaml b/.github/workflows/devcontainer-publish.yaml index 07a38f7..b428960 100644 --- a/.github/workflows/devcontainer-publish.yaml +++ b/.github/workflows/devcontainer-publish.yaml @@ -1,4 +1,4 @@ -name: Publish DevContainer Image +name: Deprecated:Publish DevContainer Image on: workflow_call: secrets: @@ -10,6 +10,9 @@ jobs: devcontainer-publish: runs-on: ubuntu-latest steps: + - name: Deprecation Warning + run: | + echo "This action is deprecated. Please use the 'Build and Publish DevContainer Image' reusable workflow instead." - uses: actions/checkout@v3 - name: Install dependencies run: | diff --git a/.github/workflows/make_github_release.yaml b/.github/workflows/make_github_release.yaml index 1811660..252cad5 100644 --- a/.github/workflows/make_github_release.yaml +++ b/.github/workflows/make_github_release.yaml @@ -1,4 +1,4 @@ -name: make_github_release +name: Deprecated:make_github_release on: workflow_call: outputs: @@ -11,6 +11,9 @@ jobs: outputs: gh_release_upload_url: ${{ steps.get_release_upload_url.outputs.upload_url }} steps: + - name: Deprecation Warning + run: | + echo "This action is deprecated. Please use the 'Semantic Release' reusable workflow instead." - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 diff --git a/.github/workflows/semantic-release.yaml b/.github/workflows/semantic-release.yaml new file mode 100644 index 0000000..cc0f1e1 --- /dev/null +++ b/.github/workflows/semantic-release.yaml @@ -0,0 +1,94 @@ +name: semantic-release +on: + workflow_call: + +jobs: + release: + runs-on: ubuntu-latest + concurrency: release + permissions: + id-token: write + contents: write + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + fetch-depth: 0 + # fixed: https://github.com/python-semantic-release/python-semantic-release/issues/721 + - name: Find version.py + id: find_version_dot_py + run: | + echo "version_dot_py_path=$(find * -name "version.py" | head -n 1)" >> $GITHUB_OUTPUT + - name: Config python-semantic-release + env: + VERSION_DOT_PY_PATH: ${{ steps.find_version_dot_py.outputs.version_dot_py_path }} + run: | + cat < .semantic-release.toml + [tool.semantic_release] + assets = [] + build_command_env = [] + commit_message = "{version}\n\nAutomatically generated by python-semantic-release" + commit_parser = "angular" + logging_use_named_masks = true # + major_on_zero = true + allow_zero_version = true + no_git_verify = false + tag_format = "{version}" # + version_variables = [ + "${VERSION_DOT_PY_PATH}:__version__" # + ] + + [tool.semantic_release.branches.main] + match = "(main|master)" + prerelease_token = "rc" + prerelease = false + + [tool.semantic_release.changelog] + template_dir = "templates" + changelog_file = "CHANGELOG.md" + exclude_commit_patterns = [] + + [tool.semantic_release.changelog.environment] + block_start_string = "{%" + block_end_string = "%}" + variable_start_string = "{{" + variable_end_string = "}}" + comment_start_string = "{#" + comment_end_string = "#}" + trim_blocks = false + lstrip_blocks = false + newline_sequence = "\n" + keep_trailing_newline = false + extensions = [] + autoescape = true + + [tool.semantic_release.commit_author] + env = "GIT_COMMIT_AUTHOR" + default = "semantic-release " + + [tool.semantic_release.commit_parser_options] + allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"] + minor_tags = ["feat"] + patch_tags = ["fix", "perf"] + default_bump_level = 0 + + [tool.semantic_release.remote] + name = "origin" + type = "github" + ignore_token_for_push = false + insecure = false + + [tool.semantic_release.publish] + dist_glob_patterns = ["dist/*"] + upload_to_vcs_release = true + EOF + + echo "INFO::Semantic release configuration:" + cat .semantic-release.toml + + git config --global --add safe.directory ${PWD} + - name: Python Semantic Release + uses: python-semantic-release/python-semantic-release@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + root_options: "-c .semantic-release.toml -v" \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 2d1707a..7755c31 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,8 +1,6 @@ { "conventionalCommits.scopes": [ - "U24 Element", - "U24 Workflow", "reusable-workflows", - "codebook_docker_template" + "starter-workflows" ] } \ No newline at end of file From 38c0bc4e72b56be287bf6c54392926666b1abbcf Mon Sep 17 00:00:00 2001 From: Drew Yang Date: Mon, 24 Jun 2024 14:50:43 -0500 Subject: [PATCH 3/3] =?UTF-8?q?feat(starter-workflows):=20=E2=9C=A8=20made?= =?UTF-8?q?=20initial=20starter=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devcontainer-build-publish-caller.json | 4 ++++ .../devcontainer-build-publish-caller.yaml | 15 +++++++++++++++ workflow-templates/mkdocs-release-caller.json | 4 ++++ workflow-templates/mkdocs-release-caller.yaml | 9 +++++++++ workflow-templates/semantic-release-caller.json | 4 ++++ workflow-templates/semantic-release-caller.yaml | 7 +++++++ 6 files changed, 43 insertions(+) create mode 100644 workflow-templates/devcontainer-build-publish-caller.json create mode 100644 workflow-templates/devcontainer-build-publish-caller.yaml create mode 100644 workflow-templates/mkdocs-release-caller.json create mode 100644 workflow-templates/mkdocs-release-caller.yaml create mode 100644 workflow-templates/semantic-release-caller.json create mode 100644 workflow-templates/semantic-release-caller.yaml diff --git a/workflow-templates/devcontainer-build-publish-caller.json b/workflow-templates/devcontainer-build-publish-caller.json new file mode 100644 index 0000000..d304963 --- /dev/null +++ b/workflow-templates/devcontainer-build-publish-caller.json @@ -0,0 +1,4 @@ +{ + "name": "devcontainer-build-publish-caller", + "description": "Datajoint devcontainer build and publish caller" +} \ No newline at end of file diff --git a/workflow-templates/devcontainer-build-publish-caller.yaml b/workflow-templates/devcontainer-build-publish-caller.yaml new file mode 100644 index 0000000..c050508 --- /dev/null +++ b/workflow-templates/devcontainer-build-publish-caller.yaml @@ -0,0 +1,15 @@ +name: semantic-release +on: + workflow_dispatch: + secrets: + DOCKERHUB_USERNAME: + required: true + DOCKERHUB_TOKEN: + required: true + +jobs: + call_devcontainer_build_publish: + uses: dj-sciops/.github/.github/workflows/devcontainer-build-publish.yaml@main + with: + DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} + DOCKERHUB_TOKEN: ${{secrets.DOCKERHUB_TOKEN}} \ No newline at end of file diff --git a/workflow-templates/mkdocs-release-caller.json b/workflow-templates/mkdocs-release-caller.json new file mode 100644 index 0000000..c877b1e --- /dev/null +++ b/workflow-templates/mkdocs-release-caller.json @@ -0,0 +1,4 @@ +{ + "name": "mkdocs-release-caller", + "description": "Datajoint mkdocs release caller" +} \ No newline at end of file diff --git a/workflow-templates/mkdocs-release-caller.yaml b/workflow-templates/mkdocs-release-caller.yaml new file mode 100644 index 0000000..7514f7d --- /dev/null +++ b/workflow-templates/mkdocs-release-caller.yaml @@ -0,0 +1,9 @@ +name: semantic-release +on: + workflow_dispatch: + +jobs: + mkdocs_release: + uses: datajoint/.github/.github/workflows/mkdocs_release.yaml@main + permissions: + contents: write \ No newline at end of file diff --git a/workflow-templates/semantic-release-caller.json b/workflow-templates/semantic-release-caller.json new file mode 100644 index 0000000..85bb796 --- /dev/null +++ b/workflow-templates/semantic-release-caller.json @@ -0,0 +1,4 @@ +{ + "name": "semantic-release-caller", + "description": "Datajoint semantic release caller" +} \ No newline at end of file diff --git a/workflow-templates/semantic-release-caller.yaml b/workflow-templates/semantic-release-caller.yaml new file mode 100644 index 0000000..5fd2693 --- /dev/null +++ b/workflow-templates/semantic-release-caller.yaml @@ -0,0 +1,7 @@ +name: semantic-release +on: + workflow_dispatch: + +jobs: + call_semantic_release: + uses: dj-sciops/.github/.github/workflows/semantic-release.yaml@main \ No newline at end of file