Update self_runner_test.yml #19
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: Dynamic Runner | |
on: | |
workflow_dispatch: | |
push: | |
jobs: | |
start-runner: | |
runs-on: flysql26-dispatch | |
outputs: | |
uuid: ${{ steps.generate_uuid.outputs.uuid }} | |
steps: | |
- name: Generate UUID | |
id: generate_uuid | |
run: | | |
UUID=$(uuidgen) | |
echo "UUID=$UUID" >> $GITHUB_ENV | |
echo "::set-output name=uuid::$UUID" | |
- name: Start Dockerized Runner | |
run: | | |
bash /var/go/actions-runner-dispatch/runner-controller.sh start ${{ secrets.CREATE_RUNNER_TOKEN }} ${{ secrets.AWS_ACCESS_KEY_ID }} ${{ secrets.AWS_SECRET_ACCESS_KEY }} ${{ steps.generate_uuid.outputs.uuid }} | |
use-runner: | |
needs: start-runner | |
runs-on: ${{ needs.start-runner.outputs.uuid }} | |
steps: | |
- name: Log in to ECR | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_DEFAULT_REGION: "us-east-1" | |
run: | | |
if echo "100225593120.dkr.ecr.us-east-1.amazonaws.com" | egrep "ecr\..+\.amazonaws\.com"; then | |
DOCKER_LOGIN_CMD="docker run --rm -e AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} -e AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} -e AWS_DEFAULT_REGION=${{ env.AWS_DEFAULT_REGION }} amazon/aws-cli" | |
DOCKER_LOGIN_CMD="${DOCKER_LOGIN_CMD} ecr get-login-password --region $AWS_DEFAULT_REGION | docker login -u AWS --password-stdin https://100225593120.dkr.ecr.us-east-1.amazonaws.com" | |
eval ${DOCKER_LOGIN_CMD} | |
fi | |
- name: Construct NEO_ENV_IMAGE | |
id: construct-image | |
env: | |
REGISTRY: 100225593120.dkr.ecr.us-east-1.amazonaws.com | |
DOCKER_PULL_TAG: "stage" # Adjust as needed | |
run: echo "NEO_ENV_IMAGE=${{ env.REGISTRY }}/agr_neo4j_env:${{ env.DOCKER_PULL_TAG }}" >> $GITHUB_ENV | |
- name: Pull Neo4j Env Image | |
run: docker pull $NEO_ENV_IMAGE | |
- name: Run Neo4j | |
env: | |
NEO_SERVER_NAME: "stage-neo4j.alliancegenome.org" | |
NEO_VOLUME_NAME: "/data" | |
NET: "host" | |
NEO_MAX_HEAP: "31GB" | |
NEO_OFF_HEAP_MAX: "0GB" | |
NEO_ON_OFF_HEAP: "OFF_HEAP" | |
NEO_TRANSACTION: "0" | |
NEO4J_AUTH: "none" | |
run: | | |
docker run --rm -d \ | |
--name ${{ env.NEO_SERVER_NAME }} \ | |
-p 7474:7474 \ | |
-p 7687:7687 \ | |
-v ${{ env.NEO_VOLUME_NAME }}:/var/lib/neo4j/import \ | |
--network ${{ env.NET }} \ | |
-e NEO4J_server_memory_heap_max__size=${{ env.NEO_MAX_HEAP }} \ | |
-e NEO4J_server_memory_heap_initial__size=${{ env.NEO_MAX_HEAP }} \ | |
-e NEO4J_server_memory_off__heap_max__size=${{ env.NEO_OFF_HEAP_MAX }} \ | |
-e NEO4J_db_tx__state_memory__allocation=${{ env.NEO_ON_OFF_HEAP }} \ | |
-e NEO4J_dbms_memory_transaction_total_max=${{ env.NEO_TRANSACTION }} \ | |
-e NEO4J_db_memory_transaction_total_max=${{ env.NEO_TRANSACTION }} \ | |
-e NEO4J_db_memory_transaction_max=${{ env.NEO_TRANSACTION }} \ | |
-e NEO4J_AUTH=${{ env.NEO4J_AUTH }} \ | |
$NEO_ENV_IMAGE | |
stop-runner: | |
needs: use-runner | |
runs-on: flysql26-dispatch | |
steps: | |
- name: Stop Dockerized Runner | |
run: | | |
bash /var/go/actions-runner-dispatch/runner-controller.sh stop ${{ needs.start-runner.outputs.uuid }} |