Update errors identifiers #1793
This file contains 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
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
name: "Website Build" | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- "1.11.x" | |
paths: | |
- '.github/workflows/website.yml' | |
- 'website/**' | |
jobs: | |
typescript-check: | |
name: "TypeScript check" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install Node" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "18" | |
cache: "npm" | |
cache-dependency-path: website/package-lock.json | |
- name: "Install dependencies" | |
working-directory: ./website | |
run: "npm ci" | |
- name: "TypeScript check" | |
working-directory: ./website | |
run: "npm run check" | |
build: | |
name: "Build" | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Install Node" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "18" | |
cache: "npm" | |
cache-dependency-path: website/package-lock.json | |
- name: "Install PHP" | |
uses: "shivammathur/setup-php@v2" | |
with: | |
coverage: "none" | |
php-version: "8.0" | |
- name: "Install dependencies" | |
working-directory: ./website | |
run: "npm ci" | |
- name: "Put release into release.txt" | |
working-directory: ./website | |
run: echo -n $(git rev-parse --short HEAD) > src/release.txt | |
- name: "Build" | |
working-directory: ./website | |
run: "npm run build" | |
- name: "Upload website dist" | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "website-dist" | |
path: website/dist | |
deploy: | |
name: "Deploy" | |
needs: | |
- typescript-check | |
- build | |
runs-on: "ubuntu-latest" | |
concurrency: website | |
steps: | |
- name: "Download website dist" | |
uses: actions/download-artifact@v4 | |
with: | |
name: website-dist | |
path: dist | |
- name: "Sync with S3" | |
uses: jakejarvis/s3-sync-action@v0.5.1 | |
with: | |
args: --exclude '.git*/*' --exclude '*.map' --follow-symlinks | |
env: | |
SOURCE_DIR: './dist' | |
AWS_REGION: 'eu-west-1' | |
AWS_S3_BUCKET: "web-phpstan.org" | |
AWS_ACCESS_KEY_ID: ${{ secrets.PLAYGROUND_RUNNER_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.PLAYGROUND_RUNNER_AWS_SECRET_ACCESS_KEY }} | |
- name: "Invalidate CloudFront" | |
uses: chetan/invalidate-cloudfront-action@v2 | |
env: | |
DISTRIBUTION: "E1W83FJ5FCYXPT" | |
PATHS: '/*' | |
AWS_REGION: 'eu-west-1' | |
AWS_ACCESS_KEY_ID: ${{ secrets.PLAYGROUND_RUNNER_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.PLAYGROUND_RUNNER_AWS_SECRET_ACCESS_KEY }} | |
- uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.PHPSTAN_BOT_TOKEN }} | |
event-type: check_website_links | |
sentry-release: | |
name: "Create Sentry release" | |
needs: | |
- deploy | |
runs-on: "ubuntu-latest" | |
concurrency: website | |
steps: | |
- name: "Checkout" | |
uses: actions/checkout@v4 | |
- name: "Download website dist" | |
uses: actions/download-artifact@v4 | |
with: | |
name: website-dist | |
path: dist | |
- name: Set outputs | |
id: vars | |
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT | |
- name: Create Sentry release | |
uses: getsentry/action-release@v1 | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} | |
with: | |
environment: production | |
version: ${{ steps.vars.outputs.sha_short }} | |
sourcemaps: './dist' | |
url_prefix: "https://phpstan.org" | |
ignore_missing: true | |
ignore_empty: true |