14 # If you change this version, change the number in the cache step too.
15 image: emscripten/emsdk:2.0.31
18 - name: Update deployment status to in progress
19 uses: octokit/request-action@v2.x
21 route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
26 owner: ${{ github.event.repository.owner.login }}
27 repo: ${{ github.event.repository.name }}
28 deployment_id: ${{ github.event.client_payload.deployment_id }}
31 GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}
34 uses: actions/checkout@v2
36 ref: ${{ github.event.client_payload.sha }}
40 name=$(echo "${{ github.event.client_payload.folder }}")
41 git checkout -b ${name}
44 uses: actions/cache@v2
46 path: /emsdk/upstream/emscripten/cache
47 key: 2.0.31-${{ runner.os }}
49 - name: Patch Emscripten to support LZMA
51 cd /emsdk/upstream/emscripten
52 patch -p1 < ${GITHUB_WORKSPACE}/os/emscripten/emsdk-liblzma.patch
54 - name: Build (host tools)
60 cmake .. -DOPTION_TOOLS_ONLY=ON
64 echo "Running on $(nproc) cores"
68 - name: Install GCC problem matcher
69 uses: ammaraskar/gcc-problem-matcher@master
78 -DHOST_BINARY_DIR=../build-host \
79 -DCMAKE_BUILD_TYPE=Release \
84 echo "Running on $(nproc) cores"
85 emmake make -j$(nproc)
88 - name: Publish preview
92 aws s3 cp --only-show-errors build/openttd.data s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/
93 aws s3 cp --only-show-errors build/openttd.html s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/
94 aws s3 cp --only-show-errors build/openttd.js s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/
95 aws s3 cp --only-show-errors build/openttd.wasm s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/
97 # Invalidate the cache of the CloudFront distribution
98 aws cloudfront create-invalidation --distribution-id ${{ secrets.PREVIEW_CF_DISTRIBUTION_ID }} --paths "/${{ github.event.client_payload.folder }}/*"
100 AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
101 AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
103 - name: Update deployment status to success
104 uses: octokit/request-action@v2.x
106 route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
111 owner: ${{ github.event.repository.owner.login }}
112 repo: ${{ github.event.repository.name }}
113 deployment_id: ${{ github.event.client_payload.deployment_id }}
115 environment_url: https://preview.openttd.org/${{ github.event.client_payload.folder }}/
117 GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}
120 name: Update deployment status to failure
121 uses: octokit/request-action@v2.x
123 route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
128 owner: ${{ github.event.repository.owner.login }}
129 repo: ${{ github.event.repository.name }}
130 deployment_id: ${{ github.event.client_payload.deployment_id }}
133 GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}