feat: Update CI workflow for reference validation tests and add environment variable configurations
All checks were successful
CI / container-job (push) Successful in 41s

This commit is contained in:
Kaimbacher 2025-01-27 12:20:49 +01:00
parent c0496be51b
commit a5e0a36327
2 changed files with 74 additions and 18 deletions

View file

@ -17,4 +17,6 @@ REDIS_PORT=6379
REDIS_PASSWORD= REDIS_PASSWORD=
SMTP_HOST= SMTP_HOST=
SMTP_PORT= SMTP_PORT=
RESEND_API_KEY= RESEND_API_KEY=
OPENSEARCH_HOST=http://localhost
OPENSEARCH_CORE=tethys-records

View file

@ -1,24 +1,78 @@
# This is a Gitea Actions workflow configuration file for running CI tests on the `feat/checkReferenceType` branch.
# The workflow is named "CI" and runs on the latest Ubuntu environment using a Node.js 20 Docker container.
# It sets up a PostgreSQL service with specified environment variables and health checks.
# The workflow includes the following steps:
# 1. Checkout the repository using the actions/checkout@v3 action.
# 2. Install Node.js dependencies using `npm ci`.
# 3. Create a `.env.test` file by copying from `.env.example`.
# 4. Set up environment variables in the `.env.test` file, including database connection details and other app-specific settings.
# 5. Run functional tests using the `node ace test functional --groups "ReferenceValidation"` command.
name: CI name: CI
run-name: ${{ github.actor }} is testing out Gitea Actions run-name: Running tests for checkReferenceType branch
on: on:
push: push:
branches: branches:
- feat/checkReferenceType - feat/checkReferenceType
jobs: jobs:
test: container-job:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: # Docker Hub image that `container-job` executes in
- name: Checkout repository container: node:20-bullseye
uses: actions/checkout@v2
- name: Set up Node.js services:
uses: actions/setup-node@v2 # Label used to access the service container
with: postgres:
node-version: '20' image: postgres:latest
env:
POSTGRES_USER: alice
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: tethys_dev
# ports:
# - 5432:5432
options: |
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
- name: Install dependencies steps:
run: npm install - name: Checkout repository
uses: actions/checkout@v3
- name: Run tests # - name: Set up Node.js
run: node ace test functional --groups "ReferenceValidation" # uses: actions/setup-node@v2
# with:
# node-version: '20'
- name: Install dependencies
run: npm ci
- name: Create .env.test file
run: cp .env.example .env.test
- name: Set up environment variables
run: |
echo "DB_CONNECTION=pg" >> .env.test
echo "PG_HOST=postgres" >> .env.test
echo "PG_PORT=5432" >> .env.test
echo "PG_USER=alice" >> .env.test
echo "PG_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" >> .env.test
echo "PG_DB_NAME=tethys_dev" >> .env.test
echo "NODE_ENV=test" >> .env.test
echo "ASSETS_DRIVER=fake" >> .env.test
echo "SESSION_DRIVER=memory" >> .env.test
echo "HASH_DRIVER=bcrypt" >> .env.test
echo "HOST=127.0.0.1" >> .env.test
echo "PORT=3333" >> .env.test
echo "APP_NAME=TethysCloud" >> .env.test
echo "APP_URL=http://${HOST}:${PORT}" >> .env.test
echo "CACHE_VIEWS=false" >> .env.test
echo "APP_KEY=pfi5N2ACN4tMJ5d8d8BPHfh3FEuvleej" >> .env.test
echo "DRIVE_DISK=local" >> .env.test
echo "OAI_LIST_SIZE=200" >> .env.test
echo "OPENSEARCH_HOST=${{ secrets.OPENSEARCH_HOST }}" >> .env.test
echo "OPENSEARCH_CORE=tethys-records" >> .env.test
- name: Run tests
run: node ace test functional --groups "ReferenceValidation"