|
| 1 | +name: on-push-to-main |
| 2 | + |
| 3 | +on: |
| 4 | + push: |
| 5 | + branches: [ "main" ] |
| 6 | + |
| 7 | +jobs: |
| 8 | + lucy-ci: |
| 9 | +# defaults: |
| 10 | +# run: |
| 11 | +# working-directory: ./protected |
| 12 | + |
| 13 | + runs-on: ubuntu-22.04 |
| 14 | + |
| 15 | + steps: |
| 16 | + - uses: actions/checkout@v3 |
| 17 | + with: |
| 18 | + fetch-depth: 0 |
| 19 | + |
| 20 | + # -------------------------------------------------------------------- |
| 21 | + # PREPARE ENVIRONMENT |
| 22 | + # -------------------------------------------------------------------- |
| 23 | + - name: "[ Prepare Environment ]" |
| 24 | + run: echo "OK" |
| 25 | + |
| 26 | + - name: Get date environment variable |
| 27 | + run: echo "DATE=$(date)" >> $GITHUB_ENV |
| 28 | + |
| 29 | + - name: store branch number |
| 30 | + run: | |
| 31 | + PREFIX="COMMIT_PREFIX=" |
| 32 | + PREFIX+=${{ github.head_ref }} |
| 33 | + 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 |
| 34 | +
|
| 35 | + - name: " -- apt-get update" |
| 36 | + run: sudo apt-get update |
| 37 | + |
| 38 | + - name: " -- Install PHP" |
| 39 | + uses: shivammathur/setup-php@v2 |
| 40 | + with: |
| 41 | + php-version: '8.2' |
| 42 | + |
| 43 | + - name: " -- Install WhoIs" |
| 44 | + run: sudo apt-get install whois |
| 45 | + |
| 46 | + - name: " -- Install xvfb, libfontconfig and wkhtmltopdf" |
| 47 | + run: sudo apt-get install xvfb libfontconfig wkhtmltopdf |
| 48 | + - name: " -- Install libemail" |
| 49 | + run: | |
| 50 | + sudo apt-get install libemail-outlook-message-perl |
| 51 | + which msgconvert |
| 52 | +
|
| 53 | + - name: " -- Create required directories" |
| 54 | + run: | |
| 55 | + sudo mkdir -p /opt/my-dir/files/aaaaaaaaaaaaa |
| 56 | + sudo chown -R $(whoami):$(whoami) /opt/my-dir |
| 57 | + sudo chown -R $(whoami):$(whoami) /tmp |
| 58 | +
|
| 59 | +
|
| 60 | + # -------------------------------------------------------------------- |
| 61 | + # Install COMPOSER |
| 62 | + # -------------------------------------------------------------------- |
| 63 | + - name: "[ Prepare Composer ]" |
| 64 | + run: echo "OK" |
| 65 | + |
| 66 | + # cache vendor for later use |
| 67 | + - name: " -- Cache Composer packages" |
| 68 | + id: composer-cache |
| 69 | + uses: actions/cache@v3 |
| 70 | + with: |
| 71 | + path: ./vendor |
| 72 | + key: ${{ runner.os }}-composer-vendors-${{ hashFiles('**/composer.json') }} |
| 73 | + restore-keys: | |
| 74 | + ${{ runner.os }}-composer-vendors- |
| 75 | +
|
| 76 | + - name: " -- Install composer dependencies" |
| 77 | + run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar install |
| 78 | + |
| 79 | + - name: " -- Regenarate class mapping" |
| 80 | + run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar dump-autoload --optimize --classmap-authoritative |
| 81 | + |
| 82 | + |
| 83 | + # -------------------------------------------------------------------- |
| 84 | + # PHPLINT VALIDATION |
| 85 | + # -------------------------------------------------------------------- |
| 86 | + - name: "[ STEP 4 ] - PHPLint Validation" |
| 87 | + run: echo "OK" |
| 88 | + |
| 89 | + - name: " -- Cache PHPLint" |
| 90 | + id: php-linter |
| 91 | + uses: actions/cache@v3 |
| 92 | + with: |
| 93 | + path: ./protected/runtime/.phplint.result.cache |
| 94 | + key: ${{ runner.os }}-phplint-${{ env.DATE }} |
| 95 | + restore-keys: | |
| 96 | + ${{ runner.os }}-phplint- |
| 97 | +
|
| 98 | + - name: " -- Run PHPLint" |
| 99 | + run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/my-dir-web/my-dir-web/protected/composer.phar php-lint |
| 100 | + |
| 101 | + |
| 102 | +# # -------------------------------------------------------------------- |
| 103 | +# # PHP CS FIXER |
| 104 | +# # -------------------------------------------------------------------- |
| 105 | +# - name: "[ STEP 5 ] - PHP CS Fixer" |
| 106 | +# run: echo "OK" |
| 107 | +# |
| 108 | +# - name: " -- Cache PHP CS Fixer" |
| 109 | +# id: php-cs-linter |
| 110 | +# uses: actions/cache@v3 |
| 111 | +# with: |
| 112 | +# path: ./protected/runtime/.php-cs-fixer.cache |
| 113 | +# key: ${{ runner.os }}-phpcslint-${{ env.DATE }} |
| 114 | +# restore-keys: | |
| 115 | +# ${{ runner.os }}-phpcslint- |
| 116 | +# |
| 117 | +# - name: " -- Fix PHP CS Fixer (in fix mode)" |
| 118 | +# run: COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/phishing-web/phishing-web/protected/composer.phar php-cs-fix |
| 119 | +# |
| 120 | +# |
| 121 | +# # -------------------------------------------------------------------- |
| 122 | +# # STATIC CODE ANALYSIS |
| 123 | +# # -------------------------------------------------------------------- |
| 124 | +# - name: "[ STEP 6 ] - Static Code Analysis" |
| 125 | +# run: echo "OK" |
| 126 | +# |
| 127 | +# - name: " -- Cache PHP STAN" |
| 128 | +# id: php-stan |
| 129 | +# uses: actions/cache@v3 |
| 130 | +# with: |
| 131 | +# path: ./protected/runtime/phpstan |
| 132 | +# key: ${{ runner.os }}-phpstan-${{ env.DATE }} |
| 133 | +# restore-keys: | |
| 134 | +# ${{ runner.os }}-phpstan- |
| 135 | +# |
| 136 | +# - name: " -- Run STAN" |
| 137 | +# run: COMPOSER_PROCESS_TIMEOUT=3000 php composer.phar php-stan |
| 138 | +# |
| 139 | +# - name: " -- Cache PHP PSALM" |
| 140 | +# id: php-psalm |
| 141 | +# uses: actions/cache@v3 |
| 142 | +# with: |
| 143 | +# path: ./protected/runtime/phppsalm |
| 144 | +# key: ${{ runner.os }}-phppsalm-${{ env.DATE }} |
| 145 | +# restore-keys: | |
| 146 | +# ${{ runner.os }}-phppsalm- |
| 147 | +# |
| 148 | +# - name: " -- Run PSALM" |
| 149 | +# run: COMPOSER_PROCESS_TIMEOUT=3000 php composer.phar php-psalm |
| 150 | +# |
| 151 | +# |
| 152 | +# # -------------------------------------------------------------------- |
| 153 | +# # BACKEND UNIT TESTS |
| 154 | +# # -------------------------------------------------------------------- |
| 155 | +# - name: "[ STEP 7 ] - Backend Unit Tests" |
| 156 | +# run: echo "OK" |
| 157 | +# |
| 158 | +# - name: " -- Init DB for testing" |
| 159 | +# run: | |
| 160 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "SELECT 'CREATE DATABASE $DATABASE 'WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = '$DATABASE');" |
| 161 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "DROP TYPE IF EXISTS delivery_method CASCADE;" |
| 162 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "DROP TYPE IF EXISTS gender_type CASCADE;" |
| 163 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "ALTER DATABASE \"$DATABASE\" OWNER TO $DB_USER;" |
| 164 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "CREATE EXTENSION IF NOT EXISTS pgcrypto;" |
| 165 | +# psql -U $DB_USER -d $DATABASE -h localhost -w -c "CREATE EXTENSION IF NOT EXISTS hstore;" |
| 166 | +# psql -U $DB_USER -d $DATABASE -h localhost -w < $SCHEMA |
| 167 | +# 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;" |
| 168 | +# |
| 169 | +# - name: " -- Run DB migrations" |
| 170 | +# run: php yiic migrate --interactive=0 |
| 171 | +# |
| 172 | +# - name: " -- Run Unit Tests" |
| 173 | +# run: IS_GIT_ACTIONS=1 COMPOSER_PROCESS_TIMEOUT=3000 php /home/runner/work/phishing-web/phishing-web/protected/composer.phar tests-unit |
| 174 | +# |
| 175 | +# - name: " -- Git status" |
| 176 | +# run: git status |
| 177 | +# |
| 178 | +# |
| 179 | +# # -------------------------------------------------------------------- |
| 180 | +# # COMMIT CHANGES |
| 181 | +# # -------------------------------------------------------------------- |
| 182 | +# |
| 183 | +# # - name: update .build file |
| 184 | +# # run: | |
| 185 | +# # echo "branch name - " $GITHUB_HEAD_REF " | " $(date) > .build |
| 186 | +# |
| 187 | +# - name: "[ STEP 8 ] - Commit / Push Changes" |
| 188 | +# run: echo "OK" |
| 189 | +# |
| 190 | +# - name: " -- Auto commit action" |
| 191 | +# uses: stefanzweifel/[email protected] |
| 192 | +# with: |
| 193 | +# commit_message: ${{ env.COMMIT_PREFIX }} Linter fixes (aimlphp-bot) |
| 194 | +# commit_user_name: aimlphp-bot |
| 195 | +# commit_user_email: [email protected] |
| 196 | +# commit_author: aimlphp-bot <[email protected]> |
| 197 | +# skip_checkout: true |
| 198 | +# skip_fetch: true |
| 199 | +# |
0 commit comments