Skip to content

Commit 199b74c

Browse files
committed
Added workflow
1 parent 7ae894d commit 199b74c

File tree

1 file changed

+199
-0
lines changed

1 file changed

+199
-0
lines changed

.github/workflows/push-main.yml

Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
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

Comments
 (0)