ETE Test Full #66
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
name: ETE Test Full | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 12 * * *" #runs at 12:00 UTC everyday | |
env: | |
ETE_ART_LOC: "/home/runner/ete_artifact" | |
ETE_ART_NAME: "ete-artifact-${{ github.run_id }}" | |
jobs: | |
get-latest-tag: | |
runs-on: ubuntu-latest | |
outputs: | |
latest-tag: ${{steps.get-latest-tag-step.outputs.tag}} | |
steps: | |
- name: Checkout repo content | |
uses: actions/checkout@v2 | |
- name: "Get latest tag" | |
id: get-latest-tag-step | |
uses: actions-ecosystem/action-get-latest-tag@v1 | |
build: | |
runs-on: ubuntu-latest | |
needs: [get-latest-tag] | |
strategy: | |
matrix: | |
python-version: ["3.8"] | |
repository-ref: ["published-garden"] | |
fail-fast: false | |
max-parallel: 1 | |
name: build | |
env: | |
GARDEN_API_CLIENT_ID: ${{ secrets.GARDEN_API_CLIENT_ID }} | |
GARDEN_API_CLIENT_SECRET: ${{ secrets.GARDEN_API_CLIENT_SECRET }} | |
ETE_JOB_FINISHED: "FALSE" | |
steps: | |
- name: Checkout repo content | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ matrix.repository-ref }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry | |
uses: abatilo/actions-poetry@v2 | |
with: | |
poetry-version: 1.2.2 | |
- name: Install dependencies | |
run: | | |
poetry config virtualenvs.create false && \ | |
poetry install --no-interaction --no-ansi --with=test,develop --all-extras | |
- name: Set job env vars | |
run: | | |
echo "ETE_JOB_NAME_EXT=full build (${{ matrix.python-version }}, ${{ matrix.repository-ref }})" >> $GITHUB_ENV | |
echo "ETE_JOB_NAME_INT=build (${{ matrix.python-version }}, ${{ matrix.repository-ref }})" >> $GITHUB_ENV | |
echo "ETE_ART_ID=$(uuidgen)" >> $GITHUB_ENV | |
- name: Run full ETE test | |
id: full_test | |
continue-on-error: true | |
working-directory: ./tests/ete | |
run: python3 test_end_to_end.py run-garden-end-to-end --garden-grant cc --model-type all --globus-compute-endpoint 86a47061-f3d9-44f0-90dc-56ddc642c000 --live-print-stdout | |
timeout-minutes: 90 | |
- name: Make artifact file if failed | |
if: "contains(env.ETE_JOB_FINISHED, 'FALSE')" | |
run: | | |
mkdir -p ${{ env.ETE_ART_LOC }} | |
echo "*FAILURE*, end to end run: \`${{ env.ETE_JOB_NAME_EXT }}\` has no stored output, most likely timed out." | base64 > ${{ env.ETE_ART_LOC }}/${{ env.ETE_ART_ID }}.txt | |
echo "ETE_JOB_FINISHED=TRUE" >> $GITHUB_ENV | |
- name: Upload artifact | |
if: "contains(env.ETE_JOB_FINISHED, 'TRUE')" | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ETE_ART_NAME }} | |
path: ${{ env.ETE_ART_LOC }}/${{ env.ETE_ART_ID }}.txt | |
retention-days: 1 | |
collect: | |
runs-on: ubuntu-latest | |
needs: [build] | |
if: always() | |
strategy: | |
matrix: | |
python-version: ["3.8"] | |
repository-ref: ["main"] | |
max-parallel: 1 | |
name: collect-and-send-logs | |
env: | |
SLACK_HOOK_URL: ${{ secrets.SLACK_HOOK_URL }} | |
steps: | |
- name: Checkout repo content | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ matrix.repository-ref }} | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry | |
uses: abatilo/actions-poetry@v2 | |
with: | |
poetry-version: 1.2.2 | |
- name: Install dependencies | |
run: | | |
poetry config virtualenvs.create false && \ | |
poetry install --no-interaction --no-ansi --with=test,develop | |
- name: Download artifact | |
uses: actions/download-artifact@master | |
with: | |
name: ${{ env.ETE_ART_NAME }} | |
path: ${{ env.ETE_ART_LOC }} | |
- name: Collect and send logs to slack | |
working-directory: ./tests/ete | |
run: python3 test_end_to_end.py collect-and-send-logs | |
timeout-minutes: 10 |