Skip to content
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
12 changes: 12 additions & 0 deletions .github/actions/load-node-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Load NPM Cache
description: Load cached npm package data into the global npm cache
runs:
using: composite
steps:
- name: Cache global ~/.npm cache
uses: actions/cache@v5
with:
path: ~/.npm
key: npm-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
npm-${{ runner.os }}-
20 changes: 20 additions & 0 deletions .github/actions/shutdown-test-backend/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Shutdown Test Backend
description: Shuts down and prints logs for the E2E Test Backend
runs:
using: composite
steps:
- name: Print Logs for Services
if: always()
shell: bash
run: docker compose -f ./e2e-tests/docker-compose-test.yml logs -t
- name: Stop Services
if: always()
shell: bash
run: |
docker ps -a
docker compose -f ./e2e-tests/docker-compose-test.yml down
docker ps -a
- name: Prune Volumes
if: always()
shell: bash
run: docker volume prune --force
31 changes: 31 additions & 0 deletions .github/actions/start-test-backend/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Start Test Backend
description: Compile and start up the backend for E2E Tests
runs:
using: composite
steps:
- name: Extract PlanDev gateway docker tag from PR body
# look in the PR body for the string ___REQUIRES_GATEWAY_PR___=9999, extract the number if so & save to env var
# if gateway PR is labeled correctly, it will publish a docker tag called 'pr-9999' to use in tests
if: ${{ contains(env.PR_BODY, '___REQUIRES_GATEWAY_PR___=') }}
shell: bash
run: |
echo "GATEWAY_IMAGE_TAG=pr-$(echo $PR_BODY | sed -n 's/.*___REQUIRES_GATEWAY_PR___=\"\([0-9]\+\)\".*/\1/p')" >> $GITHUB_ENV
- name: Load NPM Cache
uses: ./.github/actions/load-node-cache
# Start Hasura and Postgres ahead of assembling the Java code, as the Java code takes a few minutes to compile.
# This means Hasura will have time to complete its start-up tasks without needing an extra "sleep 30" command.
- name: Start Hasura and Postgres
shell: bash
run: |
docker compose -f ./e2e-tests/docker-compose-test.yml up -d postgres hasura --quiet-pull
- name: Assemble
# Don't generate docs for tests
shell: bash
run: ./gradlew assemble -x javadoc -x javadocJar -x generateDocumentation --parallel
- name: Start Remaining Services
shell: bash
run: |
echo "GATEWAY_IMAGE_TAG: $GATEWAY_IMAGE_TAG"
docker compose -f ./e2e-tests/docker-compose-test.yml up -d --build --quiet-pull
docker images
docker ps -a --no-trunc
2 changes: 1 addition & 1 deletion .github/workflows/cloc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Install cloc
run: |
sudo apt-get update
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/create_jnispice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
7z x JNISpice.zip
echo "JNISpice unpacked"
- name: Upload DLL
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: Windows Spice
path: JNISpice/lib/JNISpice.dll
Expand All @@ -39,7 +39,7 @@ jobs:
run: mv libJNISpice.so libJNISpice_Intel.so
working-directory: JNISpice/lib
- name: Upload .so
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: x86 Linux Spice
path: JNISpice/lib/libJNISpice_Intel.so
Expand All @@ -64,7 +64,7 @@ jobs:
working-directory: JNISpice/src/JNISpice
shell: csh {0}
- name: Upload Intel Mac .jnilib
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: x86 Mac Spice
path: JNISpice/lib/libJNISpice_Intel.jnilib
Expand All @@ -74,7 +74,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "21"
Expand Down Expand Up @@ -104,7 +104,7 @@ jobs:
working-directory: JNISpice/src/JNISpice
- name: Upload JAR
if: success()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: JNISpice Jar
path: JNISpice/src/JNISpice/JNISpice-*.jar
13 changes: 8 additions & 5 deletions .github/workflows/deploy-to-gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,15 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "21"
- uses: gradle/actions/setup-gradle@v3
- uses: gradle/actions/setup-gradle@v5
with:
# This action defaults to matching on "main" and "master" as the branches allowed to write to the cache
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Create Pages Build Directories
run: mkdir -p build/javadoc/examples
- name: Build EDSL API Docs
Expand Down Expand Up @@ -54,7 +57,7 @@ jobs:
cp -a ./scheduler-worker/build/docs/javadoc ./build/javadoc/scheduler-worker
cp -a ./procedural/build/dokka/htmlMultiModule ./build/procedural-apis
- name: Upload Artifact
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@v4
with:
path: build/

Expand All @@ -67,4 +70,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
13 changes: 7 additions & 6 deletions .github/workflows/load-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,17 @@ jobs:
environment: load-test
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "21"
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v5
with:
# This action defaults to matching on "main" and "master" as the branches allowed to write to the cache
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Assemble
run: ./gradlew assemble --parallel
- name: Start Services
Expand All @@ -51,7 +52,7 @@ jobs:
./load-test.sh
- name: Upload Load Test Results
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: Load Test Results
path: "**/load-tests/load-report.*"
Expand Down
43 changes: 22 additions & 21 deletions .github/workflows/pgcmp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,11 @@ jobs:
environment: e2e-test
steps:
- name: Checkout v2.8.0
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: "v2.8.0"
- name: Clone PGCMP
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: NASA-AMMOS/pgcmp
path: pgcmp
Expand Down Expand Up @@ -87,22 +87,23 @@ jobs:
./pgcmp/pgcmp-dump
shell: bash
- name: Share Database Dump
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: v2_8_0-db-dump
path: pgdumpV2_8_0
retention-days: 1
- name: Checkout Latest
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Java
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "21"
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
uses: gradle/actions/setup-gradle@v5
with:
# This action defaults to matching on "main" and "master" as the branches allowed to write to the cache
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Assemble Workspace Server
run: ./gradlew workspace-server:assemble --parallel
- name: Restart Hasura and Start Additional Containers
Expand All @@ -125,7 +126,7 @@ jobs:
python aerie_db_migration.py migrate --apply --all
cd ..
- name: Clone PGCMP
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: NASA-AMMOS/pgcmp
path: pgcmp
Expand All @@ -139,7 +140,7 @@ jobs:
./pgcmp/pgcmp-dump
shell: bash
- name: Share Database Dump
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: migrated-db-dump
path: pgdumpmigrated
Expand All @@ -160,7 +161,7 @@ jobs:
environment: e2e-test
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Postgres Client (psql)
# ubuntu-latest does not currently have psql-16 in its apt library, so we cannot just run
# sudo apt update && sudo apt-get install --yes postgresql-client-16
Expand All @@ -174,7 +175,7 @@ jobs:
sudo apt update
sudo apt -y install postgresql-client-16
- name: Setup Python
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: "3.10"
- name: Setup Hasura CLI
Expand All @@ -188,7 +189,7 @@ jobs:
run: sleep 60s
shell: bash
- name: Clone PGCMP
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: NASA-AMMOS/pgcmp
path: pgcmp
Expand All @@ -202,7 +203,7 @@ jobs:
./pgcmp/pgcmp-dump
shell: bash
- name: Share Database Dump
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: current-sql-db-dump
path: pgdumpcurrent
Expand All @@ -227,7 +228,7 @@ jobs:
./pgcmp/pgcmp-dump
shell: bash
- name: Share Database Dump
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: migrated-down-db-dump
path: pgdumpmigrateddown
Expand All @@ -247,9 +248,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Clone PGCMP
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: NASA-AMMOS/pgcmp
path: pgcmp
Expand Down Expand Up @@ -289,7 +290,7 @@ jobs:
shell: bash
- name: Upload Invalid
if: ${{ failure() && steps.dbcmp.conclusion == 'failure' }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: pgcmpresultsup
path: "**/results/"
Expand All @@ -309,9 +310,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Clone PGCMP
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
repository: NASA-AMMOS/pgcmp
path: pgcmp
Expand Down Expand Up @@ -351,7 +352,7 @@ jobs:
shell: bash
- name: Upload Invalid
if: ${{ failure() && steps.dbcmp.conclusion == 'failure' }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: pgcmpresultsdown
path: "**/results/"
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/profile-compilation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Profile Compilation

on:
workflow_dispatch:

jobs:
compile-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v6
- name: Load NPM Cache
uses: ./.github/actions/load-node-cache
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: "21"
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
with:
# This action defaults to matching on "main" and "master" as the branches allowed to write to the cache
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Assemble
# Don't generate docs for tests
run: ./gradlew assemble -x javadoc -x javadocJar -x generateDocumentation --parallel --profile
- name: Upload Profile
if: always()
uses: actions/upload-artifact@v7
with:
name: ProfileResults
path: |
/home/runner/work/plandev/plandev/build/reports/profile/profile*
Loading
Loading