diff --git a/.github/workflows/preview_build.yml b/.github/workflows/preview_build.yml deleted file mode 100644 --- a/.github/workflows/preview_build.yml +++ /dev/null @@ -1,135 +0,0 @@ -name: Preview build - -on: - repository_dispatch: - types: - - Preview* - -jobs: - preview: - name: Build preview - - runs-on: ubuntu-20.04 - container: - # If you change this version, change the number in the cache step too. - image: emscripten/emsdk:3.1.37 - - steps: - - name: Update deployment status to in progress - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses - mediaType: | - previews: - - ant-man - - flash - owner: ${{ github.event.repository.owner.login }} - repo: ${{ github.event.repository.name }} - deployment_id: ${{ github.event.client_payload.deployment_id }} - state: in_progress - env: - GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }} - - - name: Checkout - uses: actions/checkout@v3 - with: - ref: ${{ github.event.client_payload.sha }} - - - name: Name branch - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - name=$(echo "${{ github.event.client_payload.folder }}") - git checkout -b ${name} - - - name: Setup cache - uses: actions/cache@v3 - with: - path: /emsdk/upstream/emscripten/cache - key: 3.1.37-${{ runner.os }} - - - name: Patch Emscripten to support LZMA and nlohmann_json - run: | - cd /emsdk/upstream/emscripten - patch -p1 < ${GITHUB_WORKSPACE}/os/emscripten/emsdk-liblzma.patch - patch -p1 < ${GITHUB_WORKSPACE}/os/emscripten/emsdk-nlohmann-json.patch - - - name: Build (host tools) - run: | - mkdir build-host - cd build-host - - echo "::group::CMake" - cmake .. -DOPTION_TOOLS_ONLY=ON - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - make -j$(nproc) tools - echo "::endgroup::" - - - name: Install GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@master - - - name: Build - run: | - mkdir build - cd build - - echo "::group::CMake" - emcmake cmake .. \ - -DHOST_BINARY_DIR=../build-host \ - -DCMAKE_BUILD_TYPE=Release \ - # EOF - echo "::endgroup::" - - echo "::group::Build" - echo "Running on $(nproc) cores" - cmake --build . -j $(nproc) --target openttd - echo "::endgroup::" - - - name: Publish preview - run: | - pip3 install awscli - - aws s3 cp --only-show-errors build/openttd.data s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/ - aws s3 cp --only-show-errors build/openttd.html s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/ - aws s3 cp --only-show-errors build/openttd.js s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/ - aws s3 cp --only-show-errors build/openttd.wasm s3://${{ secrets.PREVIEW_S3_BUCKET }}/${{ github.event.client_payload.folder }}/ - - # Invalidate the cache of the CloudFront distribution - aws cloudfront create-invalidation --distribution-id ${{ secrets.PREVIEW_CF_DISTRIBUTION_ID }} --paths "/${{ github.event.client_payload.folder }}/*" - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - - name: Update deployment status to success - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses - mediaType: | - previews: - - ant-man - - flash - owner: ${{ github.event.repository.owner.login }} - repo: ${{ github.event.repository.name }} - deployment_id: ${{ github.event.client_payload.deployment_id }} - state: success - environment_url: https://preview.openttd.org/${{ github.event.client_payload.folder }}/ - env: - GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }} - - - if: failure() - name: Update deployment status to failure - uses: octokit/request-action@v2.x - with: - route: POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses - mediaType: | - previews: - - ant-man - - flash - owner: ${{ github.event.repository.owner.login }} - repo: ${{ github.event.repository.name }} - deployment_id: ${{ github.event.client_payload.deployment_id }} - state: failure - env: - GITHUB_TOKEN: ${{ secrets.PREVIEW_GITHUB_TOKEN }}