From c33366907eb5d1858e6524c9a1938c2bb8dd4ce3 Mon Sep 17 00:00:00 2001 From: Paul Profizi <100710998+PProfizi@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:01:45 +0100 Subject: [PATCH] Add ansys_lab.yml (#550) --- .github/workflows/ansys_lab.yml | 76 +++++++++++++++++++++++++++++++++ .github/workflows/releaser.yml | 6 +++ 2 files changed, 82 insertions(+) create mode 100644 .github/workflows/ansys_lab.yml diff --git a/.github/workflows/ansys_lab.yml b/.github/workflows/ansys_lab.yml new file mode 100644 index 000000000..c09bf368b --- /dev/null +++ b/.github/workflows/ansys_lab.yml @@ -0,0 +1,76 @@ +name: Ansys Lab + +on: +# Can be called by the CI + workflow_call: + inputs: + version: + description: "Release version as 'X.Y.Z'" + type: string + required: true +# Can be called manually + workflow_dispatch: + inputs: + version: + description: "Release version as 'X.Y.Z'" + type: string + required: true + +env: + DESTINATION_BRANCH_NAME: ansys_lab_examples + +jobs: + deploy_examples: + name: "Deploy examples for Ansys Lab" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ env.DESTINATION_BRANCH_NAME }} + + - name: "Clean-up working directory" + shell: python + run: | + import glob + import os + + for example in glob.glob('**/*.ipynb', recursive=True): + os.remove(example) + print(f"Deleted {example}") + + - name: "Download Release Asset - HTML" + uses: dsaltares/fetch-gh-release-asset@1.1.0 + with: + file: HTML-doc-ansys-dpf-post.zip + token: ${{ secrets.GITHUB_TOKEN }} + version: tags/v${{ inputs.version }} + + - name: "Extract ipynb examples" + shell: python + run: | + import glob + import os + import shutil + import zipfile + with zipfile.ZipFile("HTML-doc-ansys-dpf-post.zip", 'r') as z: + [z.extract(file, "./") for file in z.namelist() if file.endswith(".ipynb")] + os.remove("HTML-doc-ansys-dpf-post.zip") + + if not "examples" in os.listdir(os.getcwd()): + os.mkdir(os.path.join(os.getcwd(), "examples")) + print(os.listdir(os.getcwd())) + for folder in os.listdir(os.path.join(os.getcwd(), "_downloads")): + print(os.listdir(os.path.join(os.path.join(os.getcwd(), "_downloads"), folder))) + for example in glob.glob('**/*.ipynb', recursive=True): + print(f"Moving {example}") + shutil.move(example, os.path.join(os.getcwd(), "examples")) + print(os.listdir(os.path.join(os.getcwd(), "examples"))) + + - name: "Push changes" + shell: bash + run: | + git config --global user.name "rlagha" + git add . + git status + git commit -a -m ${{ inputs.version }} + git push https://${{ secrets.DPF_PIPELINE }}@github.com/ansys/pydpf-post.git --follow-tags diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index 80deae280..7c393f376 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -58,3 +58,9 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} doc-artifact-name: HTML-doc-ansys-dpf-post.zip decompress-artifact: true + + update_ansys_lab_examples: + uses: ./.github/workflows/ansys_lab.yml + with: + version: latest + secrets: inherit