Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] Fix the compatibility workflows #51

Merged
merged 4 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 0 additions & 55 deletions .github/workflows/compatibility-test copy.yaml

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/compatibility-test.yaml

This file was deleted.

120 changes: 120 additions & 0 deletions .github/workflows/compatibility.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
name: Compatibility of
surchs marked this conversation as resolved.
Show resolved Hide resolved

on:
workflow_dispatch:
schedule:
- cron: '21 5,17 * * *'

jobs:
latest:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Rename files
working-directory: .
run: |
cp template.env .env
cp local_nb_nodes.template.json local_nb_nodes.json

- name: Run docker compose
working-directory: .
run: |
docker compose --profile full_stack up -d

- name: Set up node env
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install cypress
run: npm install

- name: wait for graph set up
working-directory: ./scripts
run: |
# The logs are written at the end of the setup at the moment, so we have to wait for the file to exist
while [ ! -f ./logs/DEPLOY.log ]; do
:
done
# Once the file is there, we want to wait for the message that the setup is done
echo "We think the file exists now!"
while ! tail -n 0 -f ./logs/DEPLOY.log | grep -q "Finished setting up the Neurobagel graph backend."; do
:
done
echo "Finished setting up the Neurobagel graph backend."

- name: Run end to end tests
uses: cypress-io/github-action@v6
with:
wait-on: http://localhost:3000
component: false

- name: Latest failed, tell someone
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Neurobagel latest version compatibility test failed! Please check https://github.com/neurobagel/recipes/actions and resolve the incompatible versions!"}' ${{ secrets.NB_SLACK_WEBHOOK }}

- name: Clean up again
working-directory: .
run: |
docker compose --profile full_stack down

nightly:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Rename files
working-directory: .
run: |
cp template.env .env
cp local_nb_nodes.template.json local_nb_nodes.json
sed -i 's/latest/nightly/g' .env

- name: Run docker compose
working-directory: .
run: |
docker compose --profile full_stack up -d

- name: Set up node env
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install cypress
run: npm install

- name: wait for graph set up
working-directory: ./scripts
run: |
# The logs are written at the end of the setup at the moment, so we have to wait for the file to exist
while [ ! -f ./logs/DEPLOY.log ]; do
:
done
# Once the file is there, we want to wait for the message that the setup is done
echo "We think the file exists now!"
while ! tail -n 0 -f ./logs/DEPLOY.log | grep -q "Finished setting up the Neurobagel graph backend."; do
:
done
echo "Finished setting up the Neurobagel graph backend."

- name: Run end to end tests
uses: cypress-io/github-action@v6
with:
wait-on: http://localhost:3000
component: false

- name: Nightly failed, tell someone
if: ${{ failure() }}
run: |
curl -X POST -H 'Content-type: application/json' --data '{"text":"Neurobagel nightly version compatibility test failed!"}' ${{ secrets.NB_SLACK_WEBHOOK }}

- name: Clean up
working-directory: .
run: |
docker compose --profile full_stack down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ describe('Full stack e2e', () => {
});
});
it("Federation API", () => {
cy.request("localhost:8000/query/?node=local graph 1").as("query");
cy.request("localhost:8080/query/?node=http://api:8000/").as("query");
cy.get("@query").should((response) => {
expect(response.status).to.eq(200);
});
Expand Down