E2E Test with latest FusionAuth #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |