@@ -28,27 +28,32 @@ jobs:
2828 timeout-minutes : 60
2929
3030 steps :
31+ - name : Harden the runner (Audit all outbound calls)
32+ uses : step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
33+ with :
34+ egress-policy : audit
35+
3136 - name : " Checkout"
32- uses : actions/checkout@v4
37+ uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
3338
3439 - name : " Install PHP"
35- uses : " shivammathur/setup-php@v2 "
40+ uses : " shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 " # v2
3641 with :
3742 coverage : " none"
3843 php-version : " 8.2"
3944
40- - uses : " ramsey/composer-install@v3 "
45+ - uses : " ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520 " # v3
4146
4247 - name : " Install ApiGen dependencies"
43- uses : " ramsey/composer-install@v3 "
48+ uses : " ramsey/composer-install@3cf229dc2919194e9e36783941438d17239e8520 " # v3
4449 with :
4550 working-directory : " apigen"
4651
4752 - name : " Run ApiGen"
4853 run : " apigen/vendor/bin/apigen -c apigen/apigen.neon --output docs -- src vendor/nikic/php-parser vendor/ondrejmirtes/better-reflection vendor/phpstan/phpdoc-parser"
4954
5055 - name : " Upload docs"
51- uses : actions/upload-artifact@v4
56+ uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5257 with :
5358 name : docs
5459 path : docs
@@ -60,19 +65,24 @@ jobs:
6065 if : github.repository_owner == 'phpstan'
6166 runs-on : " ubuntu-latest"
6267 steps :
68+ - name : Harden the runner (Audit all outbound calls)
69+ uses : step-security/harden-runner@5ef0c079ce82195b2a36a210272d6b661572d83e # v2.14.2
70+ with :
71+ egress-policy : audit
72+
6373 - name : " Install Node"
64- uses : actions/setup-node@v4
74+ uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
6575 with :
6676 node-version : " 16"
6777
6878 - name : " Download docs"
69- uses : actions/download-artifact@v4
79+ uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
7080 with :
7181 name : docs
7282 path : docs
7383
7484 - name : " Sync with S3"
75- uses : jakejarvis/s3-sync-action@v0.5.1
85+ uses : jakejarvis/s3-sync-action@be0c4ab89158cac4278689ebedd8407dd5f35a83 # v0.5.1
7686 with :
7787 args : --exclude '.git*/*' --follow-symlinks
7888 env :
@@ -84,22 +94,22 @@ jobs:
8494 AWS_SECRET_ACCESS_KEY : ${{ secrets.APIREF_AWS_SECRET_ACCESS_KEY }}
8595
8696 - name : " Invalidate CloudFront"
87- uses : chetan/invalidate-cloudfront-action@v2
97+ uses : chetan/invalidate-cloudfront-action@12d242edc7752fca9140c2034be28792ad22c5a8 # v2.4.1
8898 env :
8999 DISTRIBUTION : " E37G1C2KWNAPBD"
90100 PATHS : ' /${{ github.ref_name }}/*'
91101 AWS_REGION : ' eu-west-1'
92102 AWS_ACCESS_KEY_ID : ${{ secrets.APIREF_AWS_ACCESS_KEY_ID }}
93103 AWS_SECRET_ACCESS_KEY : ${{ secrets.APIREF_AWS_SECRET_ACCESS_KEY }}
94104
95- - uses : peter-evans/repository-dispatch@v3
105+ - uses : peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # v3.0.0
96106 with :
97107 token : ${{ secrets.PHPSTAN_BOT_TOKEN }}
98108 repository : " phpstan/phpstan"
99109 event-type : check_website_links
100110
101111 - name : " Check for broken links"
102- uses : ScholliYT/Broken-Links-Crawler-Action@v3
112+ uses : ScholliYT/Broken-Links-Crawler-Action@21eab52f98097989d343116dbbd46dc4541b849b # v3.3.2
103113 with :
104114 website_url : ' https://apiref.phpstan.org/${{ github.ref_name }}/index.html'
105115 resolve_before_filtering : ' true'
0 commit comments