diff --git a/.github/workflows/cloc.yml b/.github/workflows/cloc.yml index cb2e7e04e2..8f7a7596ab 100644 --- a/.github/workflows/cloc.yml +++ b/.github/workflows/cloc.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install cloc run: | sudo apt-get update diff --git a/.github/workflows/create_jnispice.yml b/.github/workflows/create_jnispice.yml index 1913836653..b9dc9ab3c6 100644 --- a/.github/workflows/create_jnispice.yml +++ b/.github/workflows/create_jnispice.yml @@ -20,7 +20,7 @@ jobs: 7z x JNISpice.zip echo "JNISpice unpacked" - name: Upload DLL - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Windows Spice path: JNISpice/lib/JNISpice.dll @@ -39,7 +39,7 @@ jobs: run: mv libJNISpice.so libJNISpice_Intel.so working-directory: JNISpice/lib - name: Upload .so - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: x86 Linux Spice path: JNISpice/lib/libJNISpice_Intel.so @@ -64,7 +64,7 @@ jobs: working-directory: JNISpice/src/JNISpice shell: csh {0} - name: Upload Intel Mac .jnilib - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: x86 Mac Spice path: JNISpice/lib/libJNISpice_Intel.jnilib @@ -74,7 +74,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" @@ -104,7 +104,7 @@ jobs: working-directory: JNISpice/src/JNISpice - name: Upload JAR if: success() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: JNISpice Jar path: JNISpice/src/JNISpice/JNISpice-*.jar diff --git a/.github/workflows/deploy-to-gh-pages.yml b/.github/workflows/deploy-to-gh-pages.yml index 9bc3eee449..5af4fbd129 100644 --- a/.github/workflows/deploy-to-gh-pages.yml +++ b/.github/workflows/deploy-to-gh-pages.yml @@ -15,12 +15,12 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 with: distribution: temurin java-version: "21" - - uses: gradle/gradle-build-action@v2 + - uses: gradle/actions/setup-gradle@v3 - name: Create Pages Build Directories run: mkdir -p build/javadoc/examples - name: Build EDSL API Docs @@ -51,7 +51,7 @@ jobs: cp -a ./scheduler-server/build/docs/javadoc ./build/javadoc/scheduler-server cp -a ./scheduler-worker/build/docs/javadoc ./build/javadoc/scheduler-worker - name: Upload Artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v3 with: path: build/ @@ -64,4 +64,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/load-test.yml b/.github/workflows/load-test.yml index 16ee8ea6af..d6ac773bcc 100644 --- a/.github/workflows/load-test.yml +++ b/.github/workflows/load-test.yml @@ -17,16 +17,16 @@ jobs: environment: load-test steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@v2 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 - name: Assemble run: ./gradlew assemble --parallel - name: Start Services @@ -43,7 +43,7 @@ jobs: ./load-test.sh - name: Upload Load Test Results if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Load Test Results path: "**/load-tests/load-report.*" diff --git a/.github/workflows/pgcmp.yml b/.github/workflows/pgcmp.yml index 731b8009b0..1d2cf88740 100644 --- a/.github/workflows/pgcmp.yml +++ b/.github/workflows/pgcmp.yml @@ -28,16 +28,16 @@ jobs: environment: e2e-test steps: - name: Checkout v1.0.1 - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: ref: "v1.0.1" - name: Clone PGCMP - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: cbbrowne/pgcmp path: pgcmp - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" - name: Setup Postgres Client (psql) @@ -47,9 +47,9 @@ jobs: - name: Setup Hasura CLI run: sudo curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@v2 - name: Distribute SQL and Assemble Java - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 with: arguments: distributeSQL - name: Start Postgres @@ -79,13 +79,13 @@ jobs: PGURI=postgres://"${AERIE_USERNAME}":"${AERIE_PASSWORD}"@localhost:5432/aerie_ui PGCMPOUTPUT=./pgdumpv1_0_1/AerieUIV1_0_1 PGCLABEL=AerieUIV1_0_1 PGBINDIR=/usr/bin ./pgcmp/pgcmp-dump shell: bash - name: Share Database Dump - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: v1_0_1-db-dump path: pgdumpv1_0_1 retention-days: 1 - name: Checkout Latest - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Restart Hasura run: | docker compose down @@ -116,7 +116,7 @@ jobs: AERIE_USERNAME: "${{secrets.AERIE_USERNAME}}" AERIE_PASSWORD: "${{secrets.AERIE_PASSWORD}}" - name: Clone PGCMP - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: cbbrowne/pgcmp path: pgcmp @@ -132,7 +132,7 @@ jobs: PGURI=postgres://"${AERIE_USERNAME}":"${AERIE_PASSWORD}"@localhost:5432/aerie_ui PGCMPOUTPUT=./pgdumpmigrated/AerieUIMigrated PGCLABEL=AerieUIMigrated PGBINDIR=/usr/bin ./pgcmp/pgcmp-dump shell: bash - name: Share Database Dump - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: migrated-db-dump path: pgdumpmigrated @@ -153,19 +153,19 @@ jobs: environment: e2e-test steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Postgres Client (psql) run: | sudo apt-get update sudo apt-get install --yes postgresql-client - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@v2 - name: Distribute SQL - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 with: arguments: distributeSQL - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" - name: Setup Hasura CLI @@ -186,7 +186,7 @@ jobs: run: sleep 60s shell: bash - name: Clone PGCMP - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: cbbrowne/pgcmp path: pgcmp @@ -202,7 +202,7 @@ jobs: PGURI=postgres://"${AERIE_USERNAME}":"${AERIE_PASSWORD}"@localhost:5432/aerie_ui PGCMPOUTPUT=./pgdumpraw/AerieUIRaw PGCLABEL=AerieUIRaw PGBINDIR=/usr/bin ./pgcmp/pgcmp-dump shell: bash - name: Share Database Dump - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: raw-sql-db-dump path: pgdumpraw @@ -232,7 +232,7 @@ jobs: PGURI=postgres://"${AERIE_USERNAME}":"${AERIE_PASSWORD}"@localhost:5432/aerie_ui PGCMPOUTPUT=./pgdumpmigrateddown/AerieUIMigratedDown PGCLABEL=AerieUIMigratedDown PGBINDIR=/usr/bin ./pgcmp/pgcmp-dump shell: bash - name: Share Database Dump - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: migrated-down-db-dump path: pgdumpmigrateddown @@ -252,9 +252,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Clone PGCMP - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: cbbrowne/pgcmp path: pgcmp @@ -268,11 +268,11 @@ jobs: run: sleep 5s shell: bash - name: Download Shared Dumps - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: migrated-db-dump path: pgcmp/pgdumpmigrated - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: raw-sql-db-dump path: pgcmp/pgdumpraw @@ -285,7 +285,7 @@ jobs: shell: bash - name: Upload Invalid if: ${{ failure() && steps.dbcmp.conclusion == 'failure' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: pgcmpresultsup path: "**/results/" @@ -305,9 +305,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Clone PGCMP - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: cbbrowne/pgcmp path: pgcmp @@ -321,11 +321,11 @@ jobs: run: sleep 5s shell: bash - name: Download Shared Dumps - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: v1_0_1-db-dump path: pgcmp/pgdumpv1_0_1 - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: migrated-down-db-dump path: pgcmp/pgdumpmigrateddown @@ -340,7 +340,7 @@ jobs: shell: bash - name: Upload Invalid if: ${{ failure() && steps.dbcmp.conclusion == 'failure' }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: pgcmpresultsdown path: "**/results/" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5de7c1588a..9451b1e68c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -20,11 +20,11 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: gradle/wrapper-validation-action@v1 + - uses: gradle/wrapper-validation-action@v2 - - uses: gradle/gradle-build-action@v2 + - uses: gradle/actions/setup-gradle@v3 with: generate-job-summary: false @@ -63,28 +63,28 @@ jobs: file: docker/Dockerfile.postgres name: ${{ matrix.components.image }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" - name: Init Gradle cache - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 with: generate-job-summary: false - name: Set up QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 with: platforms: linux/amd64,linux/arm64 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Login to ${{ env.REGISTRY }} - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -92,7 +92,7 @@ jobs: - name: Extract metadata (tags, labels) for ${{ matrix.components.image }} id: metadata-step - uses: docker/metadata-action@v4 + uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.OWNER }}/${{ matrix.components.image }} @@ -109,7 +109,7 @@ jobs: fi - name: Build and push ${{ matrix.components.image }} - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: context: ${{ matrix.components.context }} file: ${{ matrix.components.file }} @@ -148,9 +148,9 @@ jobs: - name: Upload ${{ matrix.image }} scan results if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Vuln Scan Results + name: Vuln Scan Results - ${{ matrix.image }} path: "${{ matrix.image }}-results.html" publish: @@ -161,10 +161,10 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Gradle Cache - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 with: generate-job-summary: false @@ -177,7 +177,7 @@ jobs: run: ./gradlew archiveDeployment - name: Publish deployment - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Deployment path: deployment.tar diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index 4d565ff351..f2034d59d1 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -28,15 +28,15 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} queries: +security-extended tools: latest - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" @@ -44,34 +44,9 @@ jobs: run: | ./gradlew testClasses - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 - - name: Gradle Dependency Submission - uses: mikepenz/gradle-dependency-submission@v0.9.0 - with: - gradle-build-module: |- - :merlin-sdk - :merlin-driver - :merlin-framework - :merlin-framework-junit - :merlin-framework-processor - :contrib - :parsing-utilities - :permissions - :merlin-server - :merlin-worker - :scheduler-server - :scheduler-worker - :sequencing-server - :constraints - :scheduler-driver - :db-tests - :e2e-tests - :examples:banananation - :examples:foo-missionmodel - :examples:config-with-defaults - :examples:config-without-defaults - :examples:minimal-mission-model - sub-module-mode: "COMBINED" + uses: github/codeql-action/analyze@v3 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 - name: NASA Scrub run: | python3 -m pip install nasa-scrub @@ -89,7 +64,7 @@ jobs: echo "RESULTS_DIR=$results_dir" >> $GITHUB_ENV - name: Upload Security Scan Results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Security Scan Results + name: Security Scan Results - ${{ matrix.language }} path: ${{ env.RESULTS_DIR }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6ed29c790b..277f96079b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,41 +25,37 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@v2 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 - name: Assemble run: ./gradlew assemble --parallel - name: Run Unit Tests run: ./gradlew test --parallel - - name: Upload Test Results as XML + - name: Upload Test Results as XML and HTML if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Test Results - path: "**/build/test-results/test" - - name: Upload Test Results as HTML - if: always() - uses: actions/upload-artifact@v3 - with: - name: Test Results - path: "**/build/reports/tests/test" + name: Unit Test Results + path: | + **/build/test-results/test + **/build/reports/tests/test e2e-test: runs-on: ubuntu-latest environment: e2e-test steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: "21" @@ -68,9 +64,9 @@ jobs: sudo apt-get update sudo apt-get install --yes postgresql-client - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 + uses: gradle/wrapper-validation-action@v2 - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/actions/setup-gradle@v3 - name: Assemble run: ./gradlew assemble --parallel - name: Start Services @@ -85,22 +81,13 @@ jobs: run: ./gradlew e2eTest - name: Upload E2E Test Results if: always() - uses: actions/upload-artifact@v3 - with: - name: Test Results - path: "**/e2e-tests/build/reports/tests/e2eTest" - - name: Upload DB Test Results as HTML - if: always() - uses: actions/upload-artifact@v3 - with: - name: Test Results - path: "**/db-tests/build/reports/tests/e2eTest" - - name: Upload Sequencing Server Test Results - if: always() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: Test Results - path: "**/sequencing-server/test-report.*" + name: E2E Test Results + path: | + **/e2e-tests/build/reports/tests/e2eTest + **/db-tests/build/reports/tests/e2eTest + **/sequencing-server/test-report.* - name: Print Logs for Services if: always() run: docker compose -f ./e2e-tests/docker-compose-test.yml logs -t diff --git a/load-tests/src/db-lockup-test.ts b/load-tests/src/db-lockup-test.ts index 9e05197040..7a59c152d1 100644 --- a/load-tests/src/db-lockup-test.ts +++ b/load-tests/src/db-lockup-test.ts @@ -6,7 +6,7 @@ import {ActivityInsertInput} from "./types/activity"; export const options = { // A number specifying the number of VUs to run concurrently. - vus: 50, + vus: 15, // set to at least 50 when running locally // A string specifying the total duration of the test run. duration: '10s',