Skip to content

E2E Test with latest FusionAuth #7

E2E Test with latest FusionAuth

E2E Test with latest FusionAuth #7

Workflow file for this run

# This workflow performs a full End 2 End test of the App
# It runs the test on the last 5 iOS releases.
name: E2E Test with latest FusionAuth
on:
# Triggers the workflow on pull request events but only for default and protected branches
pull_request:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "e2e-test"
e2e-test:
name: End 2 End Test
permissions:
# required for all workflows
security-events: write
# only required for workflows in private repositories
actions: read
contents: read
# The type of runner that the job will run on
# https://xcodereleases.com/
# https://developer.apple.com/support/xcode/
# https://developer.apple.com/documentation/xcode-release-notes
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ "macos-14", "macos-13" ]
postgresql-version: [ "14", "15", "16" ]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checkout the repository.
- name: Checkout repository
uses: actions/[email protected]
# Install FusionAuth with brew.
- name: Install PostgreSQL
run: brew install postgresql@${{ matrix.postgresql-version }} -v
# Start PostgreSQL with brew.
- name: Start PostgreSQL
run: brew services start postgresql@${{ matrix.postgresql-version }} -v
# Add PostgreSQL to the PATH.
- name: Add PostgreSQL to the PATH
run: echo 'export PATH="/opt/homebrew/opt/postgresql@${{ matrix.postgresql-version }}/bin:$PATH"' >> $GITHUB_ENV
# Add PostgreSQL fusionauth user with default password.
- name: Add PostgreSQL fusionauth user
run: psql --command="CREATE USER fusionauth PASSWORD 'fusionauth'" --command="\du" postgres
# Add PostgreSQL fusionauth database.
- name: Add PostgreSQL fusionauth database
run: createdb --owner=fusionauth fusionauth
# Install FusionAuth Search with brew.
- name: Install FusionAuth Search
run: brew install --formula ./Formula/fusionauth-search.rb -v
# Install FusionAuth App with brew.
- name: Install FusionAuth App
run: brew install --formula ./Formula/fusionauth-app.rb -v
# Configure FusionAuth App with silent mode.
- name: Configure FusionAuth App
run: |
echo "" >> /opt/homebrew/etc/fusionauth/fusionauth.properties
echo "fusionauth-app.kickstart.file=kickstart/kickstart.json" >> /opt/homebrew/etc/fusionauth/fusionauth.properties
echo "fusionauth-app.silent-mode=true" >> /opt/homebrew/etc/fusionauth/fusionauth.properties
# Start FusionAuth Search.
- name: Start FusionAuth Search
run: brew services start fusionauth-search -v
# Start FusionAuth App.
- name: Start FusionAuth App
run: brew services start fusionauth-app -v
# Wait for FusionAuth App to start and run Quickstart.
- name: Wait for FusionAuth App to start and configure
run: |
sleep 20
curl http://localhost:9011/api/status
sleep 10
cat /opt/homebrew/var/log/fusionauth/fusionauth-app.log
# Perform E2E test.
# tbd
# Stop FusionAuth App.
- name: Stop FusionAuth App
run: brew services stop fusionauth-app -v
# Stop FusionAuth Search.
- name: Stop FusionAuth Search
run: brew services stop fusionauth-search -v
# Stop PostgreSQL.
- name: Stop PostgreSQL
run: brew services stop postgresql@${{ matrix.postgresql-version }} -v