v0.701.12 #44
This file contains hidden or 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
| name: release | |
| on: | |
| # Only trigger on release creation | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| # Use older Ubuntu for glibc compatibility | |
| os: [{name: ubuntu, version: ubuntu-22.04}, {name: macos, version: macos-latest}, {name: windows, version: windows-latest}] | |
| name: ${{matrix.os.name}} | |
| runs-on: ${{matrix.os.version}} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: configure | |
| run: cmake . -DCMAKE_BUILD_TYPE=Release | |
| - name: build | |
| run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI Luau.Compile.CLI Luau.Ast.CLI --config Release -j 2 | |
| - name: pack | |
| if: matrix.os.name != 'windows' | |
| run: zip luau-${{github.event.release.tag_name}}-${{matrix.os.name}}.zip luau* | |
| - name: pack | |
| if: matrix.os.name == 'windows' | |
| run: 7z a luau-${{github.event.release.tag_name}}-${{matrix.os.name}}.zip .\Release\luau*.exe | |
| - uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ github.event.release.upload_url }} | |
| asset_path: luau-${{github.event.release.tag_name}}-${{matrix.os.name}}.zip | |
| asset_name: luau-${{github.event.release.tag_name}}-${{matrix.os.name}}.zip | |
| asset_content_type: application/octet-stream | |
| package: | |
| strategy: | |
| matrix: | |
| # Use older Ubuntu for glibc compatibility reasons | |
| os: [ubuntu-22.04] | |
| addrsize: ["64"] | |
| include: | |
| - os: "ubuntu-22.04" | |
| addrsize: "32" | |
| name: ${{matrix.os}} | |
| runs-on: ${{matrix.os}} | |
| container: | |
| image: debian:buster | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| continue-on-error: false | |
| steps: | |
| - name: install dependencies | |
| run: | | |
| # buster is out-of-support, point the apt lists at the archive | |
| sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list | |
| sed -i s/security.debian.org/archive.debian.org/g /etc/apt/sources.list | |
| # First, enable multiarch in dpkg/apt land | |
| dpkg --add-architecture i386 | |
| # Get both updated amd64 and 'new to us' i386 packages | |
| apt-get update | |
| # 64-bit tools. The debian:buster image has very, very old packages in it. | |
| # The 'git' it includes does not support the recursive git submodule mode of | |
| # the various checkout actions so update it to 2.18 or better. | |
| apt-get install -y git jq python3-pip gettext bison mawk | |
| # Multiarch tools and libraries. Get the compiler and library tooling needed | |
| # for i386 and amd64 building. | |
| apt-get install -y gcc-8-multilib gcc-8-base:amd64 gcc-8-base:i386 libgcc-8-dev:amd64 libgcc-8-dev:i386 libgcc1:amd64 libgcc1:i386 | |
| apt-get install -y libglib2.0-0:amd64 libglib2.0-0:i386 libglib2.0-bin libglib2.0-data libglib2.0-dev:amd64 libglib2.0-dev:i386 libglib2.0-dev-bin | |
| apt-get install -y libstdc++-8-dev:amd64 libstdc++-8-dev:i386 libstdc++6:amd64 libstdc++6:i386 zlib1g:amd64 zlib1g:i386 zlib1g-dev:amd64 zlib1g-dev:i386 | |
| apt-get install -y build-essential libpthread-stubs0-dev clang-11 | |
| apt-get install -y gcc-multilib g++-multilib cmake | |
| # Finally, autobuild | |
| pip3 --no-cache-dir install pydot==1.4.2 pyzstd==0.15.10 autobuild | |
| - name: configure tools | |
| run: | | |
| # Don't muck with line endings and make things dirty on checkout | |
| git config --global core.autocrlf false | |
| # There's gonna be a lot of legitimate dubious ownership | |
| git config --global --add safe.directory '*' | |
| update-alternatives --install /usr/bin/cc cc /usr/bin/clang-11 100 | |
| update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-11 100 | |
| - uses: actions/checkout@v3 | |
| - uses: secondlife/action-autobuild@v5 | |
| with: | |
| addrsize: ${{ matrix.addrsize }} | |
| token: ${{ secrets.SHARED_AUTOBUILD_GITHUB_TOKEN }} | |
| setup-python: false | |
| setup-autobuild: false | |
| release: | |
| name: "Upload autobuild packages to release" | |
| needs: "package" | |
| runs-on: "ubuntu-22.04" | |
| steps: | |
| - uses: secondlife/action-autobuild-release@v3 | |
| web: | |
| needs: ["release"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v1 | |
| - uses: actions/checkout@v2 | |
| with: | |
| repository: emscripten-core/emsdk | |
| path: emsdk | |
| - name: emsdk install | |
| run: | | |
| cd emsdk | |
| ./emsdk install latest | |
| ./emsdk activate latest | |
| - name: make | |
| run: | | |
| source emsdk/emsdk_env.sh | |
| emcmake cmake . -DLUAU_BUILD_WEB=ON -DCMAKE_BUILD_TYPE=Release | |
| make -j2 Luau.Web | |
| - uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ github.event.release.upload_url }} | |
| asset_path: Luau.Web.js | |
| asset_name: Luau.Web.js | |
| asset_content_type: application/octet-stream |