Added workflow #2
This file contains hidden or 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
name: on-push-to-main | |
on: | |
push: | |
branches: [ "main" ] | |
jobs: | |
lucy-ci: | |
# defaults: | |
# run: | |
# working-directory: ./protected | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# -------------------------------------------------------------------- | |
# PREPARE ENVIRONMENT | |
# -------------------------------------------------------------------- | |
- name: "[ Prepare Environment ]" | |
run: echo "OK" | |
- name: Get date environment variable | |
run: echo "DATE=$(date)" >> $GITHUB_ENV | |
- name: store branch number | |
run: | | |
PREFIX="COMMIT_PREFIX=" | |
PREFIX+=${{ github.head_ref }} | |
echo $PREFIX | grep -o -e "COMMIT_PREFIX=PHISH-[0-9]*" >> $GITHUB_ENV || echo $PREFIX | grep -o -e "COMMIT_PREFIX=AW-[0-9]*" >> $GITHUB_ENV || echo $PREFIX >> $GITHUB_ENV | |
- name: " -- apt-get update" | |
run: sudo apt-get update | |
- name: " -- Install PHP" | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
- name: " -- Install WhoIs" | |
run: sudo apt-get install whois | |
- name: " -- Install xvfb, libfontconfig and wkhtmltopdf" | |
run: sudo apt-get install xvfb libfontconfig wkhtmltopdf | |
- name: " -- Create required directories" | |
run: | | |
sudo mkdir -p /opt/my-dir/files/aaaaaaaaaaaaa | |
sudo chown -R $(whoami):$(whoami) /opt/my-dir | |
sudo chown -R $(whoami):$(whoami) /tmp | |
# -------------------------------------------------------------------- | |
# Install COMPOSER | |
# -------------------------------------------------------------------- | |
- name: "[ Prepare Composer ]" | |
run: echo "OK" | |
# cache vendor for later use | |
- name: " -- Cache Composer packages" | |
id: composer-cache | |
uses: actions/cache@v3 | |
with: | |
path: ./vendor | |
key: ${{ runner.os }}-composer-vendors-${{ hashFiles('**/composer.json') }} | |
restore-keys: | | |
${{ runner.os }}-composer-vendors- | |
# - name: " -- Install composer dependencies" | |
# run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar install | |
# | |
# - name: " -- Regenarate class mapping" | |
# run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar dump-autoload --optimize --classmap-authoritative | |
# -------------------------------------------------------------------- | |
# PHPLINT VALIDATION | |
# -------------------------------------------------------------------- | |
- name: "[ STEP 4 ] - PHPLint Validation" | |
run: echo "OK" | |
- name: " -- Cache PHPLint" | |
id: php-linter | |
uses: actions/cache@v3 | |
with: | |
path: ./protected/runtime/.phplint.result.cache | |
key: ${{ runner.os }}-phplint-${{ env.DATE }} | |
restore-keys: | | |
${{ runner.os }}-phplint- | |
- name: " -- Run PHPLint" | |
run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar php-lint | |
# # -------------------------------------------------------------------- | |
# # PHP CS FIXER | |
# # -------------------------------------------------------------------- | |
# - name: "[ STEP 5 ] - PHP CS Fixer" | |
# run: echo "OK" | |
# | |
# - name: " -- Cache PHP CS Fixer" | |
# id: php-cs-linter | |
# uses: actions/cache@v3 | |
# with: | |
# path: ./protected/runtime/.php-cs-fixer.cache | |
# key: ${{ runner.os }}-phpcslint-${{ env.DATE }} | |
# restore-keys: | | |
# ${{ runner.os }}-phpcslint- | |
# | |
# - name: " -- Fix PHP CS Fixer (in fix mode)" | |
# run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/phishing-web/phishing-web/protected/composer.phar php-cs-fix | |
# | |
# | |
# # -------------------------------------------------------------------- | |
# # STATIC CODE ANALYSIS | |
# # -------------------------------------------------------------------- | |
# - name: "[ STEP 6 ] - Static Code Analysis" | |
# run: echo "OK" | |
# | |
# - name: " -- Cache PHP STAN" | |
# id: php-stan | |
# uses: actions/cache@v3 | |
# with: | |
# path: ./protected/runtime/phpstan | |
# key: ${{ runner.os }}-phpstan-${{ env.DATE }} | |
# restore-keys: | | |
# ${{ runner.os }}-phpstan- | |
# | |
# - name: " -- Run STAN" | |
# run: COMPOSER_PROCESS_TIMEOUT=3000 php composer.phar php-stan | |
# | |
# - name: " -- Cache PHP PSALM" | |
# id: php-psalm | |
# uses: actions/cache@v3 | |
# with: | |
# path: ./protected/runtime/phppsalm | |
# key: ${{ runner.os }}-phppsalm-${{ env.DATE }} | |
# restore-keys: | | |
# ${{ runner.os }}-phppsalm- | |
# | |
# - name: " -- Run PSALM" | |
# run: COMPOSER_PROCESS_TIMEOUT=3000 php composer.phar php-psalm | |
# | |
# | |
# # -------------------------------------------------------------------- | |
# # BACKEND UNIT TESTS | |
# # -------------------------------------------------------------------- | |
# - name: "[ STEP 7 ] - Backend Unit Tests" | |
# run: echo "OK" | |
# | |
# - name: " -- Init DB for testing" | |
# run: | | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "SELECT 'CREATE DATABASE $DATABASE 'WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DATABASE');" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "DROP TYPE IF EXISTS delivery_method CASCADE;" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "DROP TYPE IF EXISTS gender_type CASCADE;" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "ALTER DATABASE \"$DATABASE\" OWNER TO $DB_USER;" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "CREATE EXTENSION IF NOT EXISTS pgcrypto;" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "CREATE EXTENSION IF NOT EXISTS hstore;" | |
# psql -U $DB_USER -d $DATABASE -h localhost -w < $SCHEMA | |
# psql -U $DB_USER -d $DATABASE -h localhost -w -c "CREATE OR REPLACE FUNCTION lucy_decrypt(string TEXT, enc_key TEXT) RETURNS TEXT AS \$\$DECLARE decrypted_text TEXT; padding INTEGER; octet_length INTEGER;BEGIN decrypted_text = substring(decrypt(decode(NULLIF(string,''), 'base64'), enc_key::BYTEA, 'aes-cbc') FROM 17); octet_length = octet_length(decrypted_text::BYTEA); padding = get_byte(decrypted_text::BYTEA, octet_length - 1); RETURN convert_from(substring(decrypted_text::BYTEA FOR octet_length - padding), 'UTF8');END;\$\$ LANGUAGE plpgsql;" | |
# | |
# - name: " -- Run DB migrations" | |
# run: php yiic migrate --interactive=0 | |
# | |
# - name: " -- Run Unit Tests" | |
# run: IS_GIT_ACTIONS=1 COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/phishing-web/phishing-web/protected/composer.phar tests-unit | |
# | |
# - name: " -- Git status" | |
# run: git status | |
# | |
# | |
# # -------------------------------------------------------------------- | |
# # COMMIT CHANGES | |
# # -------------------------------------------------------------------- | |
# | |
# # - name: update .build file | |
# # run: | | |
# # echo "branch name - " $GITHUB_HEAD_REF " | " $(date) > .build | |
# | |
# - name: "[ STEP 8 ] - Commit / Push Changes" | |
# run: echo "OK" | |
# | |
# - name: " -- Auto commit action" | |
# uses: stefanzweifel/[email protected] | |
# with: | |
# commit_message: ${{ env.COMMIT_PREFIX }} Linter fixes (aimlphp-bot) | |
# commit_user_name: aimlphp-bot | |
# commit_user_email: [email protected] | |
# commit_author: aimlphp-bot <[email protected]> | |
# skip_checkout: true | |
# skip_fetch: true | |
# |