# evennia/setup-database # Use this action in a workflow for when you need to do initialization of database services # (such as with PostgreSQL and MySQL) before you initiate unit tests that will employ that # database service. # NOTE: This action was intended for use with the core Evennia workflows ONLY. name: Set up Evennia database service author: dvoraen description: "Activates the database server for the passed in service and ensures it's ready for use." inputs: database: description: "Database service being initialized." required: true runs: using: "composite" steps: # - name: Set up PostgreSQL server # if: ${{ inputs.database == 'postgresql' }} # uses: harmon758/postgresql-action@v1 # with: # postgresql version: "12" # postgresql db: "evennia" # postgresql user: "evennia" # postgresql password: "password" # - name: Wait for PostgreSQL to activate # if: ${{ inputs.database == 'postgresql' }} # run: | # while ! pg_isready -h 127.0.0.1 -q >/dev/null 2>&1 # do # sleep 1 # echo -n . # done # echo # shell: bash - name: Set up MySQL server if: ${{ inputs.database == 'mysql' }} uses: mirromutth/mysql-action@v1.1 with: host port: 3306 # character set server: "utf8mb4" # collation server: "utf8mb4_unicode_ci" character set server: "utf8" collation server: "utf8_general_ci" mysql database: "evennia" mysql user: "evennia" mysql password: "evennia" mysql root password: root_password - name: Wait for MySQL to activate if: ${{ inputs.database == 'mysql' }} run: | while ! mysqladmin ping -h 127.0.0.1 -u root -proot_password -s >/dev/null 2>&1 do sleep 1 echo -n . done echo shell: bash - name: Set up MySQL Privileges if: ${{ inputs.database == 'mysql' }} run: | cat <